# Upgrade Guide — v0.28.36

<!-- bump: patch -->

## What Changed

**Compaction-resume now injects a re-orient prompt, not the user's last message.**

When a session compacts mid-conversation (via `/compact` or Claude Code's
auto-compact), its working context is gone. The prior behavior — re-sending the
user's last message verbatim — assumed the agent still had thread context, which
by definition it doesn't after compaction. That produced responses that read as
a second-pass attempt at the same message rather than a real continuation.

The compaction-resume helper (`recoverCompactedSession` in `server.ts`) now
injects a single prompt:

    please read the previous messages in this topic and continue

This lets the agent fetch recent topic/channel history through its own tooling
and resume coherently. Applies to all three independent triggers:

1. `PreCompact` hook event
2. `SessionWatchdog` `compaction-idle` poll
3. `POST /internal/compaction-resume` from `compaction-recovery.sh`

The Slack path previously still detoured through `TriageOrchestrator`, whose
`reinject_message` heuristic ignores the passed-in `pendingMessage` and always
re-sends the last user message from history — defeating the override. Slack now
bypasses triage and injects directly, matching the Telegram path.

## What to Tell Your User

- **Smoother continuity after compaction**: "When my session gets auto-summarized mid-conversation, I'll now pick up by re-reading the recent thread and continuing — instead of replaying your message like nothing happened."

## Summary of New Capabilities

| Capability | How to Use |
|-----------|-----------|
| Compaction-resume re-orient prompt | Automatic — fires on all three compaction-recovery triggers |
