Inkdown
Start writing

Claude-Code

62 filesยท4 subfolders

Shared Workspace

Claude-Code
codex

16-context-compaction

Shared from "Claude-Code" on Inkdown

Context Compaction & Memory Management

Overview

Claude Code handles massive conversations that can exceed LLM context limits. The compaction system intelligently summarizes old messages to free up tokens while preserving critical information.

Plain text
0000_start_here_index_and_recommended_reading_order.md
0100_project_overview_tech_stack_runtime_modes_and_folder_map.md
0200_startup_flow_entry_points_and_cold_start_sequence.md
0300_codebase_modules_layers_state_models_and_schemas.md
0400_system_architecture_and_design_rationale.md
0500_interactive_repl_request_flow_end_to_end.md
0600_headless_sdk_and_print_mode_request_flow_end_to_end.md
0700_mcp_integration_connection_and_tool_call_flow.md
0800_external_services_sdks_storage_and_local_dependencies.md
0900_environment_variables_settings_feature_flags_and_failure_modes.md
1000_non_obvious_patterns_gotchas_and_debugging_traps.md
1100_full_codebase_file_inventory_grouped_by_directory.md
kimi
00-overview.md
01-entrypoints.md
02-state-management.md
03-query-system.md
04-tools-system.md
05-tasks-system.md
06-ui-components.md
07-bridge-remote.md
08-services.md
09-skills-plugins.md
10-commands.md
11-testing-architecture.md
12-permission-system.md
13-build-system.md
14-ink-internals.md
15-git-internals.md
16-context-compaction.md
17-vim-mode.md
18-mailbox-notifications.md
19-session-persistence.md
20-hooks-system.md
21-error-recovery.md
README.md
qwen
00-overview.md
01-entry-points.md
02-query-engine.md
03-tools-and-tasks.md
04-commands-and-skills.md
05-state-management.md
06-ink-rendering.md
07-bridge-remote.md
08-mcp-services.md
09-services-overview.md
10-multi-agent.md
11-system-prompt-constants.md
12-tool-interface.md
13-memory-system.md
14-buddy-companion.md
15-keybindings.md
16-stop-hooks.md
17-vim-mode.md
18-upstreamproxy.md
19-cost-tracking-history.md
20-contexts-styles-onboarding.md
21-hooks.md
22-screens.md
tweets-explain
claude-code-memory-analysis.md
compact
memory-system
agentic-architecture

Core Files

FilePurpose
services/compact/compact.tsCore compaction logic
services/compact/autoCompact.tsAutomatic compaction triggers
services/compact/reactiveCompact.tsReactive/real-time compaction
services/compact/snipCompact.tsHistory snipping (HISTORY_SNIP)
services/compact/compact.tsSummary generation
services/contextCollapse/Context collapse feature
utils/context.tsContext window calculations
utils/tokens.tsToken counting

Compaction Types

1. Manual Compaction (/compact)

User explicitly triggers compaction:

TypeScript
2. Auto-Compact

Automatic compaction at thresholds:

TypeScript
3. Snip (HISTORY_SNIP Feature)

Truncate history for very long sessions:

TypeScript

Summary Generation

The Compaction Prompt
TypeScript
What to Preserve
TypeScript

Boundary Detection

Finding the Cut Point
TypeScript

Post-Compact Messages

Building the Compacted List
TypeScript

Token Calculation

Estimation
TypeScript

Reactive Compaction

Real-Time Streaming Compaction
TypeScript

Compaction Recovery

Error Handling
TypeScript

Context Collapse

Emergency Compaction
TypeScript

Best Practices

1. Preserve User Messages
TypeScript
2. Keep Tool Context
TypeScript
3. Progressive Compaction
TypeScript

Debugging Compaction

Bash

Key Concepts

  1. Compaction: Replace old messages with summary
  2. Boundary: Where to cut (complete turns preferred)
  3. Preservation Rules: What must survive compaction
  4. Auto-Compact: Automatic when approaching limit
  5. Snip: Truncate for very long sessions
  6. Reactive: Hold errors during compaction attempt
  7. Context Collapse: Emergency last resort