8142494401
CLI, ACP, and the desktop app all got nested-subtask rendering (the optional `parent` field on a todo item), but the TUI never did. Its TodoItem type had no `parent` field, parseTodos() in turnController.ts dropped it even if the tool payload sent it, and TodoPanel rendered the list with a flat map() and a single fixed indent — a session using nested subtasks showed every subtask at the same visual level as its parent, with no hierarchy cue, in the terminal UI. - types.ts: add the optional `parent` field to TodoItem, matching apps/desktop/src/lib/todos.ts's TodoItem exactly. - turnController.ts: parseTodos() now preserves parent (trimmed, dropped if empty or self-referential), the same normalization desktop's parseArray() applies. - lib/todo.ts: port todoTree() from apps/desktop/src/lib/todos.ts verbatim — same DFS-with-depth algorithm, same dangling/cycle handling, so both surfaces render identical hierarchy from the same `parent` field. - todoPanel.tsx: render todoTree(todos) instead of a flat map(), with per-row indentation scaled by depth (capped at 4 levels, mirroring desktop's status-row.tsx cap).