# Feature Discussion Template # Referenced by: in discussion files name: feature description: Feature proposal and review workflow # Turn pipeline - defines what SmartTools run during each turn # Uses variable-based schema: $input -> tool -> $output turn_pipeline: steps: # Step 1: Parse discussion to get metadata - tool: discussion-parser input: $discussion output: $parsed # Step 2: Route mentions (only if participants not specified) - tool: discussion-mention-router input: $parsed output: $routing when: not $participants_specified args: --default-participants: $participants_csv # Step 3: Call each participant - tool: discussion-{participant} for_each: $participants_to_call parallel: true input: $discussion output: $responses[] args: --callout: $callout --templates-dir: $templates_dir # Step 4: Append responses to discussion - tool: discussion-turn-appender input: $discussion output: $discussion args: --responses-json: $responses_json # Step 5: Count votes (only in voting phases) - tool: discussion-vote-counter input: $parsed output: $votes when: $phase_voting # Step 6: Check status promotion - tool: discussion-status-promoter input: $votes output: $promotion when: $phase_voting args: --current-status: $status --current-phase: $phase phases: initial_feedback: goal: Gather diverse perspectives on the proposal instructions: | - Focus on feasibility, risks, and high-level concerns - Raise blocking issues early - Ask clarifying questions about requirements - Suggest alternatives if you see better approaches - Don't dive deep into implementation details yet voting: false next_phase: detailed_review detailed_review: goal: Deep dive into implementation approach instructions: | - Address concerns raised in initial feedback - Discuss specific implementation trade-offs - Review proposed architecture and design - Identify edge cases and error handling needs - Ensure security and performance are considered voting: false next_phase: consensus_vote consensus_vote: goal: Reach agreement on the approach instructions: | - All major concerns must be addressed before voting READY - Vote CHANGES if you have unresolved concerns - Vote REJECT only for fundamental issues - Summarize your position clearly with your vote - If voting CHANGES, specify what needs to change voting: true threshold_ready: 0.67 human_required: true next_phase: null # Status transitions triggered by consensus status_transitions: OPEN: on_consensus: READY_FOR_DESIGN READY_FOR_DESIGN: on_consensus: READY_FOR_IMPLEMENTATION