Skip to main content

Context Optimization

Context optimization decides what the next model call actually needs. Inferoa uses a layered approach: recent dialogue stays protected, older context can be compressed, repository evidence is selected, and large tool outputs are folded or stored as resources.

Lifecycle​

Defaults​

Inferoa ships with these defaults in src/config/defaults.ts:

  • context.compression_threshold: 0.75
  • context.context_window: 256000
  • context.auto_compact_failure_limit: 3
  • context.compact_recent_file_limit: 5
  • context.compact_recent_file_token_limit: 5000
  • context.compact_recent_total_token_limit: 25000
  • context.protected_recent_loops: 3
  • context.engine.provider: auto
  • context.engine.startup: welcome
  • context.engine.require_ready_before_chat: true
  • context.engine.watch: true

These settings keep recent tool loops visible while allowing older material to move into summaries or managed resources. Automatic compaction normally uses headroom rather than a raw ratio: Inferoa reserves output tokens, keeps a compact buffer, then compacts at effective_window - compact_buffer. Optional output_reserve_tokens and compact_buffer_tokens can override the derived values. Setting compression_threshold away from the default explicitly uses the ratio trigger instead.

The compact request first tries a prefix-preserving request so providers that support prefix caching can reuse the existing session prefix. If that request is too large, Inferoa retries with a standalone payload and then a trimmed standalone payload. If model summarization repeatedly fails, automatic compact pauses after the configured failure limit while manual /compact remains available.

Code Intelligence​

When available, the context engine uses repository structure and symbols to avoid broad file reads. It can combine built-in search with CodeGraph and RTK so the agent retrieves targeted evidence rather than repeatedly dumping large files into the prompt. Set context.engine.provider to auto, codegraph, builtin, or off.

Manual Controls​

Use:

/context Show context and code intelligence state
/context reindex Rebuild the context index
/compact [instructions] Compact conversation history now
/tools Show fixed tool schemas
/tools expand Expand the latest folded tool run
/tools compact Fold long successful tool runs

/context shows usage and compression state. /context reindex rebuilds the context index after large workspace changes. /compact forces a context summary immediately and can take extra summary instructions. The post-compact epoch also carries bounded continuity attachments for the latest read files/resources, the active plan, and invoked skills. /tools compact only folds long successful tool traces in the TUI, while /tools expand opens the latest folded trace when you need detail.