74 lines
3.8 KiB
Plaintext
74 lines
3.8 KiB
Plaintext
# Task ID: 60
|
|
# Title: Implement Mentor System with Round-Table Discussion Feature
|
|
# Status: pending
|
|
# Dependencies: None
|
|
# Priority: medium
|
|
# Description: Create a mentor system that allows users to add simulated mentors to their projects and facilitate round-table discussions between these mentors to gain diverse perspectives and insights on tasks.
|
|
# Details:
|
|
Implement a comprehensive mentor system with the following features:
|
|
|
|
1. **Mentor Management**:
|
|
- Create a `mentors.json` file to store mentor data including name, personality, expertise, and other relevant attributes
|
|
- Implement `add-mentor` command that accepts a name and prompt describing the mentor's characteristics
|
|
- Implement `remove-mentor` command to delete mentors from the system
|
|
- Implement `list-mentors` command to display all configured mentors and their details
|
|
- Set a recommended maximum of 5 mentors with appropriate warnings
|
|
|
|
2. **Round-Table Discussion**:
|
|
- Create a `round-table` command with the following parameters:
|
|
- `--prompt`: Optional text prompt to guide the discussion
|
|
- `--id`: Optional task/subtask ID(s) to provide context (support comma-separated values)
|
|
- `--turns`: Number of discussion rounds (each mentor speaks once per turn)
|
|
- `--output`: Optional flag to export results to a file
|
|
- Implement an interactive CLI experience using inquirer for the round-table
|
|
- Generate a simulated discussion where each mentor speaks in turn based on their personality
|
|
- After all turns complete, generate insights, recommendations, and a summary
|
|
- Display results in the CLI
|
|
- When `--output` is specified, create a `round-table.txt` file containing:
|
|
- Initial prompt
|
|
- Target task ID(s)
|
|
- Full round-table discussion transcript
|
|
- Recommendations and insights section
|
|
|
|
3. **Integration with Task System**:
|
|
- Enhance `update`, `update-task`, and `update-subtask` commands to accept a round-table.txt file
|
|
- Use the round-table output as input for updating tasks or subtasks
|
|
- Allow appending round-table insights to subtasks
|
|
|
|
4. **LLM Integration**:
|
|
- Configure the system to effectively simulate different personalities using LLM
|
|
- Ensure mentors maintain consistent personalities across different round-tables
|
|
- Implement proper context handling to ensure relevant task information is included
|
|
|
|
Ensure all commands have proper help text and error handling for cases like no mentors configured, invalid task IDs, etc.
|
|
|
|
# Test Strategy:
|
|
1. **Unit Tests**:
|
|
- Test mentor data structure creation and validation
|
|
- Test mentor addition with various input formats
|
|
- Test mentor removal functionality
|
|
- Test listing of mentors with different configurations
|
|
- Test round-table parameter parsing and validation
|
|
|
|
2. **Integration Tests**:
|
|
- Test the complete flow of adding mentors and running a round-table
|
|
- Test round-table with different numbers of turns
|
|
- Test round-table with task context vs. custom prompt
|
|
- Test output file generation and format
|
|
- Test using round-table output to update tasks and subtasks
|
|
|
|
3. **Edge Cases**:
|
|
- Test behavior when no mentors are configured but round-table is called
|
|
- Test with invalid task IDs in the --id parameter
|
|
- Test with extremely long discussions (many turns)
|
|
- Test with mentors that have similar personalities
|
|
- Test removing a mentor that doesn't exist
|
|
- Test adding more than the recommended 5 mentors
|
|
|
|
4. **Manual Testing Scenarios**:
|
|
- Create mentors with distinct personalities (e.g., Vitalik Buterin, Steve Jobs, etc.)
|
|
- Run a round-table on a complex task and verify the insights are helpful
|
|
- Verify the personality simulation is consistent and believable
|
|
- Test the round-table output file readability and usefulness
|
|
- Verify that using round-table output to update tasks produces meaningful improvements
|