feat(interview): add consulting persona rotation (interview+)#143
Draft
hackertaco wants to merge 2 commits intomainfrom
Draft
feat(interview): add consulting persona rotation (interview+)#143hackertaco wants to merge 2 commits intomainfrom
hackertaco wants to merge 2 commits intomainfrom
Conversation
) Add opt-in consulting_personas parameter to InterviewEngine that rotates persona perspectives (contrarian, architect, researcher, hacker, ontologist) through the system prompt per round. Question count stays the same — only the perspective lens changes. - Persist consulting_personas in InterviewState for session resume - Log warning for invalid persona names in MCP parameter parsing - Record consultants_enabled in interview_started event for tracking Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
Pull request overview
Adds an opt-in “interview+” capability to the interview flow by rotating a set of consulting personas through the system prompt each round, while keeping default ooo interview behavior unchanged. This extends the MCP tool interface, persists persona configuration across resume, and enriches telemetry.
Changes:
- Add
consulting_personassupport to the MCP interview tool (parse/validate, pass into engine, persist/restore via state). - Inject a per-round “Consulting Persona Lens” section into the interview system prompt based on round-robin rotation.
- Track usage in
interview.startedevents and expand unit tests + skill documentation.
Reviewed changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
src/ouroboros/mcp/tools/definitions.py |
Adds MCP parameter parsing + wiring for persona rotation and resume persistence. |
src/ouroboros/bigbang/interview.py |
Adds consulting_personas to state/engine and injects persona lens into _build_system_prompt. |
src/ouroboros/events/interview.py |
Extends interview_started event metadata to include consultants usage/list. |
tests/unit/mcp/tools/test_definitions.py |
Tests new MCP parameter presence, parsing, and engine wiring. |
tests/unit/bigbang/test_interview.py |
Adds extensive prompt-rotation/default-behavior tests around persona injection. |
skills/interview/SKILL.md |
Documents ooo interview+ behavior and available consulting personas. |
src/ouroboros/bigbang/interview.py
Outdated
Comment on lines
+532
to
+533
| f" {i}. {instr}" | ||
| for i, instr in enumerate(persona_data.approach_instructions, 1) |
| _interview_id = session_id | ||
|
|
||
| # Restore consulting_personas from state if not provided in this call | ||
| if not consulting_personas and state.consulting_personas: |
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Owner
|
it would be a great idea |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
ooo interview+mode that rotates consulting personas (contrarian, architect, researcher, hacker, ontologist) through the system prompt per interview roundooo interviewbehavior is completely unchangedconsultants_enabledfield ininterview_startedeventDesign Decisions
Test Plan
Known Limitations
interview_startedevents, so consultants tracking is MCP-onlyCloses #136