---
The above is a list of messages in an agent conversation. You are now given a task to compact this conversation context according to specific priorities and rules.
**Compression Priorities (in order):**
1. **Current Task State**: What is being worked on RIGHT NOW
2. **Errors & Solutions**: All encountered errors and their resolutions
3. **Code Evolution**: Final working versions only (remove intermediate attempts)
4. **System Context**: Project structure, dependencies, environment setup
5. **Design Decisions**: Architectural choices and their rationale
6. **TODO Items**: Unfinished tasks and known issues
**Compression Rules:**
- MUST KEEP: Error messages, stack traces, working solutions, current task
- MERGE: Similar discussions into single summary points
- REMOVE: Redundant explanations, failed attempts (keep lessons learned), verbose comments
- CONDENSE: Long code blocks → keep signatures + key logic only
**Special Handling:**
- For code: Keep full version if < 20 lines, otherwise keep signature + key logic
- For errors: Keep full error message + final solution
- For discussions: Extract decisions and action items only
**Required Output Structure:**
[What we're working on now]
- [Key setup/config points]
- ...more...
- [Task]: [Brief outcome]
- ...more...
- [Issue]: [Status/Next steps]
- ...more...
[filename]
**Summary:**
[What this code file does]
**Key elements:**
- [Important functions/classes]
- ...more...
**Latest version:**
[Critical code snippets in this file]
[filename]
...Similar as above...
...more files...
- [Any crucial information not covered above]
- ...more...