# ADR-0006: Questionnaire — Structured Multi-Question UI

**Status:** Accepted
**Date:** 2026-05-13
**Extension:** `extensions/questionnaire/index.ts` (390 lines)

## Problem

One-question-at-a-time text exchange = N turns for N questions. Dumping all questions as plain text is hard to parse and answer.

## Decision

Tabbed TUI:

- Multiple questions as tabs, free navigation
- Two modes: option list or free-form input
- Progress tracking, batch submission
- `renderCall` / `renderResult` hooks for tool display

## Alternatives

| Approach                   | Why Rejected                         |
| -------------------------- | ------------------------------------ |
| Plain text (one at a time) | N turns, high latency                |
| JSON in text               | Structured but hard to fill manually |
| Single-page form           | Gets cramped with 3+ questions       |

## Trade-offs

Depends on terminal TUI capabilities. Won't render in non-TUI contexts. 2-5 questions is the sweet spot.

## References

- Nygard Lightweight ADR — consult/inform separation maps to option + free-form duality
