Files
Codewalkers/.planning/phases/10-multi-question-schema/10-03-PLAN.md
Lukas May 9dd0e46060 docs(10): create phase plan
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
2026-01-31 17:51:18 +01:00

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
10-01
src/test/harness.ts
src/agent/manager.test.ts
src/agent/mock-manager.test.ts
src/test/harness.test.ts
src/dispatch/manager.test.ts
true
Update TestHarness and all tests to use questions array schema.

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>

@.planning/PROJECT.md @.planning/ROADMAP.md @.planning/phases/10-multi-question-schema/10-01-SUMMARY.md

@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, }); } ```
  1. 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);
}
  1. Rename getPendingQuestion to getPendingQuestions, return PendingQuestions | null npm run typecheck passes TestHarness supports questions array with convenience helpers
Task 2: Update all tests for questions array src/agent/manager.test.ts, src/agent/mock-manager.test.ts, src/test/harness.test.ts, src/dispatch/manager.test.ts Update all test files that use question scenarios:
  1. manager.test.ts:

    • Update mock CLI output to use 'questions' status with array
    • Update assertions for getPendingQuestions
  2. 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
  3. harness.test.ts:

    • Update setAgentQuestion calls to new signature
    • Update getPendingQuestions assertions
  4. 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: ... }]
  • getPendingQuestiongetPendingQuestions
  • .question assertions → .questions[0].question npm run test passes All tests updated and passing with questions array
Before declaring plan complete: - [ ] `npm run typecheck` passes - [ ] `npm run test` passes (all tests green) - [ ] No references to old 'question' singular status remain

<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>
After completion, create `.planning/phases/10-multi-question-schema/10-03-SUMMARY.md`