AI-powered summarization of old closed issues to reduce database bloat while preserving essential context.
Over time, closed issues accumulate lengthy descriptions, debug logs, and conversation threads that are rarely revisited. Compaction uses AI to summarize these into concise descriptions, reducing storage while keeping the important context.
originalDescription so it can be restoredcompactedAt timestamp and compactionTier are set on the issue| Tier | Criteria | Description |
|---|---|---|
| Tier 1 | Closed 30+ days ago | Light summarization — key points preserved |
| Tier 2 | Closed 90+ days ago | Aggressive summarization — essential context only |
Issues are excluded from compaction if:
no-compact labelCompaction is reversible. The original description is stored and can be restored at any time:
/api/v1/compaction/{id}/restore
This restores the original description and clears the compaction metadata.
A background service runs weekly and automatically compacts up to 50 candidates per run. This requires an Anthropic API key configured in your application settings:
// appsettings.json
{
"Anthropic": {
"ApiKey": "sk-ant-..."
}
}
/api/v1/compaction/preview
Preview compaction candidates grouped by tier. Returns issue IDs, titles, and description lengths.
/api/v1/compaction/apply
Compact specific issues by ID.
{
"issueIds": ["abc123", "def456"],
"tier": 1
}
/api/v1/compaction/{id}/restore
Restore a compacted issue's original description.
| Tool | Description |
|---|---|
analyze_compaction | Find compaction candidates and preview what would be compacted |
compact_issues | Compact specific issues |
restore_compacted_issue | Restore original description of a compacted issue |