Phase 10: Multi-Question Schema - 4 plans in 3 waves - Wave 1: Schema & types (01) - Wave 2: Manager implementations + unit tests (02, 03 parallel) - Wave 3: E2E tests (04) - Ready for execution
3.7 KiB
3.7 KiB
phase, plan, type, wave, depends_on, files_modified, autonomous
| phase | plan | type | wave | depends_on | files_modified | autonomous | ||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 10-multi-question-schema | 03 | execute | 2 |
|
|
true |
Purpose: Tests must exercise the new multi-question flow. Output: All tests pass with updated schema, TestHarness provides multi-question helpers.
<execution_context>
@/.claude/get-shit-done/workflows/execute-plan.md
@/.claude/get-shit-done/templates/summary.md
</execution_context>
@src/test/harness.ts @src/agent/mock-manager.ts
Task 1: Update TestHarness convenience methods src/test/harness.ts 1. Update setAgentQuestion to setAgentQuestions (or keep name but accept array): ```typescript setAgentQuestions( agentName: string, questions: Array<{ id: string; question: string; options?: Array<{ label: string; description?: string }>; multiSelect?: boolean; }>, delay?: number ): void { this.agentManager.setScenario(agentName, { status: 'questions', questions, delay, }); } ```- For single-question convenience, add helper that wraps:
setAgentQuestion(
agentName: string,
questionId: string,
question: string,
options?: Array<{ label: string; description?: string }>,
delay?: number
): void {
this.setAgentQuestions(agentName, [{
id: questionId,
question,
options,
}], delay);
}
- Rename getPendingQuestion to getPendingQuestions, return PendingQuestions | null npm run typecheck passes TestHarness supports questions array with convenience helpers
-
manager.test.ts:
- Update mock CLI output to use 'questions' status with array
- Update assertions for getPendingQuestions
-
mock-manager.test.ts:
- Update all scenarios from { status: 'question', question: '...' } to { status: 'questions', questions: [{ id: 'q1', question: '...' }] }
- Update assertions for pendingQuestions array
- Add test for multi-question scenario
-
harness.test.ts:
- Update setAgentQuestion calls to new signature
- Update getPendingQuestions assertions
-
dispatch/manager.test.ts:
- Update any question scenario mocks
Search pattern to find affected code:
status: 'question'→status: 'questions'question:(in scenarios) →questions: [{ id: '...', question: ... }]getPendingQuestion→getPendingQuestions.questionassertions →.questions[0].questionnpm run test passes All tests updated and passing with questions array
<success_criteria>
- All tasks completed
- TestHarness provides setAgentQuestions and setAgentQuestion helpers
- All existing tests updated to questions array format
- New test for multi-question scenario exists
- All tests pass </success_criteria>