User Story
As a developer
I want Interview Agents to know when to exit the interview
So that interviews end naturally when goals are met
Overview
Interview agents need clear exit conditions based on the shared rubric and blueprint configuration. This ensures interviews end when sufficient data is collected, not arbitrarily.
Acceptance Criteria
Exit Condition Configuration
In AgentBlueprint:
class ExitConditions(BaseModel):
required_fields_threshold: float = 1.0 # % of required fields captured
max_turns: int = 30 # Safety net
graceful_closing: bool = True # Natural wrap-up
Primary Gate: Rubric Completeness
Unknown Field Handling
Secondary Gate: LLM Assessment
Safety Net: Max Turn Limit
Graceful Closing
Exit Logic (Pseudocode)
async def should_exit_interview(state: InterviewState) -> bool:
# Primary: rubric completeness
required_captured = calculate_required_field_coverage(state)
if required_captured < exit_conditions.required_fields_threshold:
return False
# Safety: max turns
if state.turn_count >= exit_conditions.max_turns:
return True
# Secondary: LLM assessment
should_continue = await llm_assess_completeness(state)
return not should_continue
Technical Notes
- Exit conditions part of AgentBlueprint schema
- Rubric field tracking in interview state
- LLM assessment uses lightweight prompt
- Graceful closing uses closing_sequence from QuestionFlowSpec
Definition of Done
🤖 Generated with Claude Code
User Story
As a developer
I want Interview Agents to know when to exit the interview
So that interviews end naturally when goals are met
Overview
Interview agents need clear exit conditions based on the shared rubric and blueprint configuration. This ensures interviews end when sufficient data is collected, not arbitrarily.
Acceptance Criteria
Exit Condition Configuration
In AgentBlueprint:
Primary Gate: Rubric Completeness
Unknown Field Handling
Secondary Gate: LLM Assessment
Safety Net: Max Turn Limit
Graceful Closing
Exit Logic (Pseudocode)
Technical Notes
Definition of Done
🤖 Generated with Claude Code