UNPKG

handoff-ai

Version:

AI collaboration framework for persistent project knowledge and smooth handoffs

264 lines (217 loc) 7.4 kB
# Collaboration Modes Design Document ## 🎯 Overview Handoff AI's adaptive collaboration system allows users to choose how they want to work with AI based on project complexity, AI capability, and personal preference. ## 🚀 Core Collaboration Modes ### **1. `collaborate` Mode** **When to use**: Complex projects, critical decisions, learning scenarios **Behavior**: - AI asks clarifying questions before proceeding - Validates assumptions with human - Documents all decisions and reasoning - Seeks approval for architectural choices - Rich back-and-forth communication **Example Interaction**: ``` AI: "I see you want to add authentication. I found two patterns in your codebase: 1. JWT with middleware (used in /api/users) 2. Session-based (used in /admin) Which pattern should I follow for this new feature?" ``` ### **2. `automatic` Mode** **When to use**: Simple tasks, greenfield projects, routine work **Behavior**: - AI makes decisions independently - Documents what it did and why - Minimal human interruption - Follows established patterns automatically - Only asks for help when truly stuck **Example Interaction**: ``` AI: "Added JWT authentication following your existing /api/users pattern. Created middleware, updated routes, added tests. Documented assumptions in .project/assumptions.md" ``` ### **3. `guided` Mode** **When to use**: Learning, team environments, structured decision-making **Behavior**: - AI presents options with pros/cons - Human chooses, AI executes - Educational explanations provided - Good for knowledge transfer - Structured decision points **Example Interaction**: ``` AI: "For authentication, here are your options: A) JWT (stateless, scalable, complex refresh handling) B) Sessions (simple, server state, scaling challenges) C) OAuth integration (secure, external dependency) Which would you prefer? I can explain any option in detail." ``` ### **4. `review-only` Mode** **When to use**: High-trust scenarios, experienced developers, time pressure **Behavior**: - AI completes entire tasks - Presents final result for review - Human approves/rejects/requests changes - Fastest execution, batch feedback - Good for routine implementations **Example Interaction**: ``` AI: "Authentication implementation complete. Review: - Added JWT middleware ✓ - Updated 5 routes ✓ - Added 12 tests ✓ - Updated documentation ✓ Approve to merge, or request specific changes." ``` ## ⚙️ Configuration System ### **Global Settings** (`.project/handoff-config.md`) ```yaml # Default collaboration mode default_collaboration_mode: collaborate # Mode preferences by context collaboration_modes: new_project: automatic existing_project: collaborate team_environment: guided solo_development: automatic # AI capability trust level (affects mode suggestions) ai_trust_level: medium # low | medium | high ``` ### **Per-EPIC Overrides** ```yaml # EPIC-specific collaboration modes epic_modes: feature-implementation: collaborate codebase-exploration: automatic codebase-improvement: guided collaborative-documentation: review-only release-management: guided ``` ### **Dynamic Mode Switching** ```yaml # Allow mode changes during execution allow_mode_switching: true # Auto-suggest mode changes based on context smart_mode_suggestions: true # Learn from user preferences over time adaptive_learning: true ``` ## 🧠 Smart Mode Selection ### **Context-Based Defaults** ```javascript function suggestCollaborationMode(context) { const factors = { projectAge: context.isNewProject ? 'automatic' : 'collaborate', complexity: context.taskComplexity > 7 ? 'collaborate' : 'automatic', teamSize: context.teamSize > 1 ? 'guided' : 'automatic', userExperience: context.userLevel === 'junior' ? 'guided' : 'collaborate', aiTrustLevel: context.aiTrust === 'high' ? 'automatic' : 'collaborate' }; return calculateBestMode(factors); } ``` ### **Learning System** - Track mode effectiveness (user satisfaction, task completion) - Suggest mode changes based on patterns - Adapt to user preferences over time - Learn project-specific optimal modes ## 🎪 Mode Transition Examples ### **Collaborate → Automatic** ``` Human: "This is working well, you can handle the rest automatically" AI: "Switching to automatic mode. I'll complete the remaining tasks and document my decisions." ``` ### **Automatic → Collaborate** ``` AI: "I encountered an architectural decision that affects multiple systems. Switching to collaborate mode for your input." ``` ### **Guided → Review-Only** ``` Human: "I trust your judgment on these routine changes" AI: "Switching to review-only mode. I'll batch the remaining changes for your review." ``` ## 🔄 Implementation Phases ### **Phase 1: Basic Modes** (v0.4.0) - Implement 4 core modes - Basic configuration system - Manual mode switching - Update EPICs to respect modes ### **Phase 2: Smart Defaults** (v0.5.0) - Context-based mode suggestions - Per-EPIC mode overrides - Dynamic mode switching - User preference learning ### **Phase 3: Advanced Intelligence** (v0.6.0) - Predictive mode suggestions - Cross-project learning - Team collaboration patterns - Performance analytics ## 📊 Success Metrics ### **User Experience** - Reduced context switching friction - Higher task completion rates - Improved user satisfaction scores - Faster onboarding for new users ### **Collaboration Quality** - More relevant AI responses - Reduced miscommunication - Better decision documentation - Improved knowledge transfer ### **System Adoption** - Mode usage distribution over time - User retention and engagement - Feature utilization rates - Community feedback scores ## 🎯 Future Evolution ### **AI Capability Growth** ``` Today: 70% collaborate, 20% guided, 10% automatic 6 months: 50% collaborate, 30% guided, 20% automatic 1 year: 30% collaborate, 30% guided, 40% automatic 2 years: 20% collaborate, 20% guided, 60% automatic ``` ### **New Modes (Future)** - **`mentor`**: AI teaches while working - **`pair`**: Real-time collaborative coding - **`audit`**: AI reviews and suggests improvements - **`research`**: AI explores and reports findings ## 🛠️ Technical Implementation ### **Mode Detection** ```javascript class CollaborationModeManager { getCurrentMode(context) { return this.resolveMode({ globalDefault: this.config.default_collaboration_mode, epicOverride: this.config.epic_modes[context.epic], userPreference: this.userPrefs.preferred_mode, contextSuggestion: this.suggestMode(context) }); } switchMode(newMode, reason) { this.logModeChange(this.currentMode, newMode, reason); this.currentMode = newMode; this.notifyUser(`Switched to ${newMode} mode: ${reason}`); } } ``` ### **Mode-Aware AI Behavior** ```javascript class AIAgent { async processTask(task, mode) { switch(mode) { case 'collaborate': return await this.collaborativeProcess(task); case 'automatic': return await this.automaticProcess(task); case 'guided': return await this.guidedProcess(task); case 'review-only': return await this.reviewOnlyProcess(task); } } } ``` --- This collaboration mode system transforms Handoff AI from a static tool into an adaptive partner that evolves with both AI capabilities and user needs.