Backend improvements:
- Modify GET /api/collaborate/:id/document to return final_document for completed sessions
- Sessions archivées sont maintenant accessibles même si pas en mémoire active
Frontend improvements:
- Add search bar to filter sessions by ID or description
- Add search query state to allow real-time filtering
- Update session counts in filter buttons
- Enhance filteredSessions computed to include search query
- Add CSS styling for search input with focus effects
- Enable easy discovery and access to all archived sessions
- Sessions can now be searched, filtered by status, and browsed
- Fix convergence: use agentsInRound.length as fallback if agentCount is undefined
- This was causing infinite loops when agentCount wasn't properly initialized
- Simplify convergence check: only schedule next round if !hasConverged
- Add 'stopped' flag to sessions to prevent scheduled rounds from executing
- Modify runRound to check 'stopped' flag and exit early if set
- Modify completeSession to set 'stopped = true' to abort scheduled rounds
- This fixes the issue where stop button wasn't actually stopping the session
- Add better logging for convergence state
- Update objective to reflect N agents (3-50) instead of fixed 7 roles
- Update AI layer to reference mistral-large-2411 model
- Add section-based editing and convergence details
- Remove outdated 'network monitoring' feature
- Add session discovery features
- Update features list to include: dynamic agents, random names, raised hand animation, real-time visualization
- Update usage guide to reflect new session discovery UI
- Update example to use dynamic agents with random names
- Clarify automatic process and consensus convergence
- Add info about accessing previous sessions
- Add stats bar showing completed/in-progress/total sessions count
- Add status filter tabs (All, Completed, In Progress)
- Add horizontal carousel display for recent sessions
- Add 'View All Sessions' expandable button
- Add visual divider between recent sessions and new session form
- Improve session cards with better information display
- Make sessions more discoverable and easier to access
- Add filtering and sorting capabilities for better UX
- Remove unused Readable import from mistralClient.js
- Remove unused generateAgentResponse streaming function
- Remove unused parseStreamResponse helper function
- Remove unused updateDocumentFromMessage from collaboration store
- Remove unused documentVersions state from store
- Remove unused getRandomName function from nameGenerator.js
- Clean up store exports and clearCurrentSession function
- Change default from mistral-small-latest to mistral-large-2411
- mistral-large-2411 is Mistral's flagship model (123B params)
- Optimized for complex agentic workflows with precise instruction following
- Supports 128k context window with robust function-calling and JSON outputs
- Better suited for multi-agent collaborative document editing
- Add deleteSection() method to collaborativeOrchestrator.js for removing sections by header
- Enable IAs to delete sections with 'DELETE: ## Section Name' format
- Modify mistralClient.js prompt to include deletion instructions
- Simplify working agent card UI: show only raised hand animation + agent name
- Remove thinking content display from working agent card for cleaner UX
The round-label was redundant since we already have 'Round N' displayed
in the progress section. Keeping just the round number (1, 2, 3...) in
the timeline entries for a cleaner, less cluttered UI.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Users can now see and click on previous sessions from the home page without
having to create a new session. Shows up to 6 most recent sessions with:
- Session ID and status (created/completed)
- First 100 chars of prompt
- Session creation date
Features:
- Fetches sessions from new GET /api/collaborate endpoint
- Clickable cards to open existing sessions
- Beautiful glassmorphic cards with hover effects
- Responsive grid layout
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Allows frontend to retrieve history of all past sessions for easy access
to previous discussions and documents.
GET /api/collaborate returns:
- List of last 50 sessions (ordered by most recent first)
- Each session includes: id, prompt, format, status, created/completed dates
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Features:
- Session no longer redirects to home when converged
- Added 'Home' button to return to main page when session complete
- Simplified progress display: just shows 'Round N' instead of percentages
- Agents who didn't modify document appear in gray
- Better visual distinction between active and inactive agents
This provides better UX by keeping users on the session page until they
explicitly choose to start a new one, while still showing clear round
progress and agent contribution status.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Major improvements:
- SYSTEM creates base structure (not an AI agent) in startSession
- Round 1 begins with clean document v0
- Each AI receives the EXACT document version from previous agent
- Enhanced logging shows 'AGENT n/N' with version numbers
- Each AI sees full updated document before modifying
- Clear v0 → v1 → v2 → vN progression
- Better deduplication through explicit sequential flow
The collaboraion is now explicitly sequential: SYSTEM → IA1 (receives v0, creates v1) → IA2 (receives v1, creates v2) etc.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Features:
- IAs can now create NEW sections if they think they're needed
- Complete document content logging (before/after each modification)
- Detailed AI thinking and reasoning in logs
- Distinguish between 'MODIFIED' and 'CREATED NEW SECTION' actions
- Full round-by-round visibility in logs
This allows AI agents to be more creative and add new architectural
sections when they identify missing requirements or design gaps.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
The generateAgentResponse function uses 'yield' to stream responses,
so it must be declared as an async generator function (async function*)
instead of a regular async function.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Update frontend components to work with the new N-agents system (3-50 agents)
instead of fixed 7 roles. Each agent now has a random name and can modify
individual sections of the document.
Key changes:
- CollaborativeInput: Support dynamic agent count 3-50 via dropdown
- CollaborativeSession: Complete rewrite with N-agents, real-time thinking,
raised hand animation, automatic rounds, convergence logic, and stop button
- TimelinePanel: Updated to display dynamic agent names and updated progress calculation
- collaboration.js store: Fixed WebSocket message handlers to match new backend events
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Backend changes:
- Refactor mistralClient to generic agent prompts (not role-based)
- Implement streaming responses with thinking extraction
- Create nameGenerator service for random AI names
- Refactor collaborativeOrchestrator for N agents
- Implement true convergence (N agents with no changes)
- Add section merging for partial document updates
- Each AI modifies only ONE section, not entire document
- Broadcast agent_working and agent_thinking events in real-time
- Update routes for new orchestrator API
Features:
- Support 3-50 AI agents instead of fixed 7 roles
- Real-time thinking/reasoning streaming
- Partial document updates (section-based)
- True convergence tracking
- Automatic round progression
- Section extraction and merging
Next: Frontend enhancements for visualization
- Install marked and highlight.js for better markdown rendering
- Create nameGenerator service with 50 unique names
- Update DocumentViewer to use marked instead of regex parsing
- Add syntax highlighting for code blocks
- Improve styling for code with proper colors
- Remove all emojis from UI elements
- Redesign with two-column layout: timeline sidebar + content
- Implement automatic rounds without manual button
- Add persistent timeline panel with progress tracking
- Implement true convergence (all agents must agree)
- Add TimelinePanel component with progress bar
- Update styling with improved glasmorphism effects
- Clean up mentions of external tools
Remove unused debateId parameter from useWebSocket composable since
debate mode has been completely removed. Update CollaborativeSession
component to use simplified signature.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Update database schema and backend services to properly track session lifecycle:
- Sessions now start with 'created' status
- Frontend auto-start logic works when status is 'created'
- Status transitions to 'ongoing' when session actually starts
- Prevents issues with premature round execution
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Implement dynamic background that fills entire viewport:
- Animated gradient that smoothly shifts colors every 15s
- Floating radial gradients (particles) that animate independently
- Multiple animation layers with different timings (20s, 25s)
- Content properly layered above background (z-index handling)
- Smooth, continuous animations that don't loop jarringly
Changes:
- App.vue: Full-screen animated background with pseudo-elements
- CollaborativeInput.vue: Same animated effect
- CollaborativeSession.vue: Full viewport background
- All components now use 100% available space
- Subtle visual interest without distracting from content
Result: Modern, premium feel with movement depth
🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
Replace gradient backgrounds and solid colors with:
- Dark gradient backgrounds (#0f0c29, #302b63, #24243e)
- Semi-transparent glass cards with backdrop-filter blur
- Subtle white borders at 15-20% opacity
- Soft shadows for depth
- White text with appropriate opacity levels
- Consistent accent colors (blue/purple)
Components updated:
- CollaborativeInput: Main form with glass effect
- CollaborativeSession: Session header and panels
- DocumentViewer: Content display with dark theme
- NetworkStatus: Status indicator with glass
- App: Root background with gradient
Design features:
- Consistent spacing and border radius (12-20px)
- Smooth transitions on hover
- Accessible text contrast
- Professional, modern appearance
🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
- Delete CHANGELOG.md (unnecessary documentation)
- Remove classic debate mode and all related components
- Simplify App.vue to single flow: input → session
- Redesign CollaborativeInput to accept optional context file (MD/TXT)
- Always output Markdown format (remove format selection)
- Add NetworkStatus component showing latency and network quality
- Network indicator auto-checks every 5 seconds with color-coded status
- File upload validation for .md and .txt formats only
- Cleaner, more focused user experience
Output format now always: Markdown
Input options: description (required) + context file (optional)
🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
Add new iterative collaboration mode where Lead Architect creates initial document,
then 3-7 specialized agents review and refine it through sequential rounds until
convergence. Complete with WebSocket real-time updates, document versioning, and
timeline tracking.
Backend:
- New collaborativeOrchestrator service with round-based iteration logic
- Document versioning and diff tracking
- Three new DB tables: collaborative_sessions, document_versions, document_rounds
- New /api/collaborate routes for session management
- WebSocket support for sessionId in addition to debateId
Frontend:
- New collaboration store (Pinia) for session state management
- CollaborativeInput component for creating sessions with format/agent selection
- CollaborativeSession component with real-time document viewer and timeline
- DocumentViewer with basic Markdown rendering and text support
- App.vue refactored with mode selector (Classic Debate vs Collaborative Design)
- Enhanced useWebSocket composable supporting both debateId and sessionId
Features:
- 7 specialized agents: Lead Architect, Backend Engineer, Frontend Engineer, UI Designer, DevOps Engineer, Product Manager, Security Specialist
- Flexible document formats: Markdown (.md) and plain text (.txt)
- Automatic convergence detection when no changes in full round
- Complete modification history with who changed what and why
- Download final document in chosen format
🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
- Document all successful tests performed
- Include API endpoints examples
- Show sample AI responses
- Verify security and gitignore configuration
- Add performance notes and next steps
- Change maxTokens to max_tokens for Mistral API compatibility
- Extract maxTokens from options before spreading to avoid parameter conflicts
- Tested successfully with live API calls
- Add Mistral AI integration for agent responses
- Create mistralClient service with agent-specific prompts
- Support for architect, backend engineer, frontend engineer, and designer roles
- Automatic JSON response parsing and validation
- Implement WebSocket real-time communication
- Update orchestrator with WebSocket broadcasting
- Add client subscription system for debate updates
- Real-time agent response streaming
- Add consensus and voting system
- Calculate weighted consensus with architect priority
- Confidence-based voting mechanism
- Auto-complete debates when consensus reached
- Integrate Mermaid diagram rendering
- Support for embedded diagrams in agent responses
- Client-side Mermaid.js integration
- Auto-render diagrams on response updates
- Update frontend for real-time experience
- WebSocket composable for reactive updates
- Live status messages and response streaming
- Loading states and consensus display
- Add MIT License
- Create frontend with Vue 3 + Vite + Pinia
- PromptInput component for project description
- DebateThread component for displaying AI discussions
- Debate store for state management
- Create backend with Express + WebSocket + SQLite
- REST API for debate management
- Database schema for debates and responses
- Orchestrator service for AI agent coordination
- Update .gitignore for environment files and dependencies