Skip to content

Expose SeamManager.enabled and CompactionConfig.enabled to config.toml #3765

Description

@Mr-Moon121

Problem

SeamConfig.enabled and CompactionConfig.enabled are both hardcoded to true with no config.toml knob. The auto_compact setting in settings.toml controls UI prompting behavior, not whether the engine mechanisms themselves are active.

This means:

  • Soft seams (SeamManager) fire at 192K / 384K / 576K tokens regardless of auto_compact = false
  • Full compaction (~800K) fires regardless of auto_compact = false

Power users on 1M-token models who want full manual control over context management have no way to disable these mechanisms.

Real-world impact

At L3 (576K tokens, ~58% of 1M), the SeamManager condenses 0–512K of conversation into ~1,200 tokens using deepseek-v4-flash. This lossy summary often resurrects overridden decisions — the model starts suggesting approaches that were explicitly rejected earlier in the session, because the summary preserved the "what" but lost the "why not."

Current state

Both structs already have the enabled: bool field:

// crates/tui/src/seam_manager.rs
pub struct SeamConfig {
    pub enabled: bool,  // hardcoded to true
    ...
}

// crates/tui/src/compaction.rs
pub struct CompactionConfig {
    pub enabled: bool,  // hardcoded to true
    ...
}

Request

Expose at minimum seam_manager.enabled in config.toml under [harness_profiles.posture] or as a top-level key, so users can:

[harness_profiles.posture]
seam_manager_enabled = false
compaction_enabled = false

Or a dedicated section:

[seam_manager]
enabled = false

[compaction]
enabled = false

The structs and enabled fields already exist — this is purely a config-surface gap.

Version

v0.8.65 on macOS, deepseek-v4-pro, auto_compact = false, compaction_strategy = "prefix-cache".

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    Status
    In progress

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions