# Upgrade Guide — NEXT

<!-- bump: patch -->

## What Changed

- **Topic purpose awareness**: TopicSummarizer now extracts a `purpose` field alongside each summary — a one-line description of the topic's current focus. Sessions receive soft awareness ("Current focus: ...") so they know what the topic has been about without being constrained. Job sessions get stronger posting guidance via a `[TOPIC AWARENESS]` block to keep autonomous output contextually relevant.
- **Schema migration v4**: `topic_summaries` table gains a `purpose` column. Migration is automatic and non-breaking — existing summaries work fine and get purpose on their next update cycle.

## What to Tell Your User

Sessions now understand what each topic is about. When a conversation drifts to a new subject, the purpose updates naturally on the next summary cycle — no manual rebinding needed. Job sessions are aware of where they're posting and will keep output relevant to the topic context.

## Summary of New Capabilities

- Topic purpose extraction in TopicSummarizer (via LLM PURPOSE line parsing)
- Soft "Current focus" awareness in session bootstrap (formatContextForSession, formatContextForUser)
- Job session topic awareness block in JobScheduler.buildPrompt
- TopicMemory schema v4 with purpose column + migration
- POST /topic/summary API accepts optional `purpose` field
- GET /topic/context returns purpose in TopicContext
