- ToolCallDecision captures thinking blocks and pre-tool text output - AnthropicToolCallingClient supports optional extended thinking (budget_tokens + beta header) - PlannedStep carries rationale and thinking from each LLM decision - WorldEvent replaces scene_summary with rationale/thinking/page fields (backward-compatible) - AI planner system prompt instructs reflection before each tool call - _history_summary() emits compact {page, rationale, action, success} dicts - Cloud DB migration 0011 adds nullable rationale/thinking columns to planner_decision_log - OpenAI client extracts reasoning_content into thinking field