Drop 9 batch proposals that are superseded by the boocode-lift-analysis (boocontext-audit, conductor upgrades, self-healing/verify-gate skills): add-3tier-memory, import-llm-evaluator, import-pregel-engine, plugin-platform, conductor-evolution, code-intelligence-upgrade, dev-workflow, ui-overhaul, agent-reliability. Delete 11 stub archive files (49-66B each, 'Status: Shipped. Archived.' only) that provide zero documentation value over the existing CHANGELOG.md + git tags.
1.8 KiB
1.8 KiB
ADDED Requirements
Requirement: Multi-turn conversation simulation
The system SHALL provide run_multiturn_simulation() that simulates a multi-turn conversation between an app and a simulated user.
Parameters:
app: Callable[[ChatCompletionMessage], ChatCompletionMessage]— the application under testuser: Callable | string[]— simulated user (dynamic or static responses)max_turns?: number— maximum conversation turnstrajectory_evaluators?: EvalFunction[]— evaluators that assess the final trajectorystopping_condition?: Callable[[Message[], number], boolean]— early terminationreference_outputs?: unknown— passed to evaluators
Scenario: Static user responses drive conversation
- WHEN
user=["Hello", "Tell me more", "Goodbye"]withmax_turns=3 - THEN the simulation SHALL alternate between user responses and app responses for 3 turns
Scenario: Dynamic simulated user adapts to context
- WHEN
useris aCallablereceiving the current trajectory - THEN the user function SHALL receive the current conversation history and return the next message
Scenario: Trajectory evaluators run after simulation
- WHEN
trajectory_evaluatorsare provided - THEN each evaluator SHALL receive the full conversation trajectory as
outputs - THEN the simulation result SHALL include
evaluator_resultsfrom each evaluator
Scenario: Stopping condition terminates early
- WHEN
stopping_conditionreturnstruebeforemax_turns - THEN the simulation SHALL terminate immediately
Scenario: Async simulation is supported
- WHEN
run_multiturn_simulation_async()is called with asyncappanduserfunctions - THEN the simulation SHALL await each turn and return the same result structure