Documentation
¶
Overview ¶
Package filter provides LRU caching using the unified cache package. This file provides backward compatibility for existing code.
Package filter provides the core token compression pipeline for tok.
The filter package implements a multi-layer compression architecture inspired by 120+ research papers from top institutions. It processes CLI output through a series of filter layers to reduce token usage in LLM interactions while preserving semantic meaning.
Pipeline Architecture ¶
The main entry point is PipelineCoordinator, which orchestrates up to 50+ compression layers organized into logical groups:
- Core Layers (1-9): Entropy, Perplexity, AST preservation, etc.
- Semantic Layers (11-20): Compaction, H2O, Attention Sink, etc.
- Research Layers (21-49): Advanced techniques like DiffAdapt, EPiC, etc.
Usage ¶
Create a coordinator with configuration and process text:
pipeline := filter.NewPipelineCoordinator(&config)
output, stats := pipeline.Process(inputText)
fmt.Printf("Saved %d tokens (%.1f%%)\n", stats.TotalSaved, stats.ReductionPercent)
Filter Engine ¶
For lightweight post-processing, the Engine type provides a simpler filter chain for tasks like ANSI stripping and comment removal.
Index ¶
- Constants
- Variables
- func ApplyMode(input string, mode Mode, cm CompressionMode) (string, int)
- func ApplyProfile(input string, mode Mode, profile Profile) (string, int)
- func ApplyTier(input string, mode Mode, tier Tier) (string, int)
- func AutoProcess(input string, mode Mode) (string, int)
- func BytesToString(b []byte) string
- func CacheBreakpointScore(content string) float64
- func CacheabilityScore(content string) int
- func ClassifyContent(content string) (isStatic bool, confidence float64)
- func CollectOutputs(results []ParallelProcessResult) []string
- func CompileRegex(pattern string) *regexp.Regexp
- func DetectLanguage(output string) string
- func EstimateCacheHitRate(content string) float64
- func EstimateTierCost(tiers []AutoTier, inputTokens int) int
- func EstimateTokens(text string) int
- func ExecuteFiltersParallel(filters []filterLayer, input string, mode Mode) (string, int)
- func ExecuteFiltersSequential(filters []filterLayer, input string, mode Mode) (string, int)
- func FilterNoisyOutput(input string) string
- func FilterProgressBars(input string) string
- func FormatDelta(delta IncrementalDelta) string
- func FormatTDDStats(stats TDDStats) string
- func Ftoa(f float64, prec int) string
- func GetBytes(capacity int) *[]byte
- func GetProgressCallback() func(layerName string, inputTokens, outputTokens int, progressPercent float64)
- func HammingDistance(a, b uint64) int
- func HasANSI(input string) bool
- func IsCode(output string) bool
- func IsNearDuplicate(a, b string, threshold int) bool
- func Itoa(n int) string
- func JSONPathExtract(jsonStr, path string) string
- func NewLRUCache(maxSize int, ttl time.Duration) *cache.LRUCache
- func PreferLessMode(original, filtered string) string
- func PruneMetadata(input string) string
- func PutBuffer(buf *ZeroCopyBuffer)
- func PutBytes(b *[]byte)
- func QuickProcess(input string, mode Mode) (string, int)
- func QuickProcessPreset(input string, mode Mode, preset PipelinePreset) (string, int)
- func ReadContent(content string, opts ReadOptions) string
- func SetProgressCallback(...)
- func ShouldStream(input string) bool
- func ShouldUseParallel(filters []filterLayer, inputSize int) bool
- func SimHash(content string) uint64
- func SmartTruncate(content string, maxLines int, lang Language) string
- func StringToBytes(s string) []byte
- func StripANSI(input string) string
- func StripLineNumbers(input string) string
- func TotalSaved(results []ParallelProcessResult) int
- func WenyanCompress(input string, mode WenyanMode) string
- type ACONFilter
- type ANSICode
- type ANSIFilter
- type ASTOptimizer
- type ASTPreserveFilter
- type AdaptiveBufferSizer
- type AdaptiveLayerSelector
- func (a *AdaptiveLayerSelector) AnalyzeContent(input string) ContentType
- func (a *AdaptiveLayerSelector) OptimizePipeline(input string, mode Mode) *PipelineCoordinator
- func (a *AdaptiveLayerSelector) RecommendedConfig(ct ContentType, mode Mode) PipelineConfig
- func (a *AdaptiveLayerSelector) RecommendedConfigWithTiers(ct ContentType, mode Mode, inputLen int, queryIntent string) PipelineConfig
- type AdaptiveLearningFilter
- func (a *AdaptiveLearningFilter) Apply(input string, mode Mode) (string, int)
- func (a *AdaptiveLearningFilter) GenerateTiers(input string) *TieredResult
- func (a *AdaptiveLearningFilter) GetLearningStats() map[string]interface{}
- func (a *AdaptiveLearningFilter) IsEnabled() bool
- func (a *AdaptiveLearningFilter) Name() string
- func (a *AdaptiveLearningFilter) SetEnabled(enabled bool)
- type AdaptivePipeline
- type AdvancedFilter
- type AgentMemoryConfig
- type AgentMemoryFilter
- type AgentMemoryLayerConfig
- type AgentMemoryStats
- type AgentOCRFilter
- type AgentOCRHistoryFilter
- type AggregateStats
- type AnchorToken
- type ApplicabilityCheck
- type AttentionSinkFilter
- type AttentionSinkLayerConfig
- type AttributionConfig
- type AttributionFilter
- type AttributionLayerConfig
- type AutoTier
- type AutoTierConfig
- type AutoTierRecommendation
- type BeamSearchPerplexity
- type BenchmarkReport
- type BenchmarkResult
- type BloomFilter
- type BodyFilter
- type BudgetAllocator
- type BudgetConfig
- type BudgetEnforcer
- type BufferPool
- type BytePool
- type CARL
- type CARLFilter
- type CRFGoalDriven
- type CacheBreakpointFilter
- type CacheStats
- type CachedPipeline
- type CachedPipelineConfig
- type CachedProcessResult
- type CachedResult
- type Checkpoint
- type ChunkMethod
- type ChunkType
- type CircuitBreaker
- type CoTCompressFilter
- type CoTCompressor
- type CodeChunk
- type CodeContext
- type CodeGist
- type CodingAgentContext
- type CodingAgentContextFilter
- type ColorPassthrough
- type CommentFilter
- type CompactionConfig
- type CompactionLayer
- type CompactionLayerConfig
- type CompactionResult
- type CompressionMode
- type ConfigurableHierarchical
- type ContentDetector
- type ContentType
- type ContextContentType
- type ContextCrunchFilter
- type ContrastiveFilter
- type ConversationDedup
- type ConversationTracker
- type CoordinatorPool
- type CoreFilters
- type CoreLayersConfig
- type CrossMessageDedup
- type CrunchBench
- func (cb *CrunchBench) Apply(input string, mode Mode) (string, int)
- func (cb *CrunchBench) FormatReport(report *BenchmarkReport) string
- func (cb *CrunchBench) Name() string
- func (cb *CrunchBench) RegisterTestInput(name, content, contentType string, minExpected, maxExpected float64)
- func (cb *CrunchBench) RunBenchmark(cfg PipelineConfig) *BenchmarkReport
- type CurrentState
- type DAGOptimizer
- type DedupStats
- type DensityAdaptiveLayerConfig
- type DictionaryEncoding
- type DiffAdapt
- type DiffAdaptFilter
- type DiffCrunch
- type DiffCrunchConfig
- type DiffCrunchFilter
- type DifferentialCompressor
- type DynamicRatioLayerConfig
- type EPiC
- type EPiCFilter
- type EdgeCaseConfig
- type EdgeCaseFilter
- type EmbeddingCompaction
- type EmbeddingContrastive
- type EnableCheck
- type Engine
- type EngineConfig
- type EngramLearner
- func (el *EngramLearner) Apply(input string, mode Mode) (string, int)
- func (el *EngramLearner) GetRules() []EngramRule
- func (el *EngramLearner) GetRulesForContent(content string) []EngramRule
- func (el *EngramLearner) GetStats() map[string]interface{}
- func (el *EngramLearner) LoadRules() error
- func (el *EngramLearner) Name() string
- func (el *EngramLearner) RecordFailure(ruleID string)
- func (el *EngramLearner) RecordSuccess(ruleID string)
- func (el *EngramLearner) SaveRules() error
- type EngramRule
- type EnhancedEntropy
- type EnhancedPhotonFilter
- type EntropyFilter
- type EquivalenceReport
- type ErrorClassifier
- type ErrorPattern
- type EvaluatorHeadsFilter
- type Evidence
- type FastStringBuilder
- func (b *FastStringBuilder) Cap() int
- func (b *FastStringBuilder) Grow(n int)
- func (b *FastStringBuilder) Len() int
- func (b *FastStringBuilder) Reset()
- func (b *FastStringBuilder) String() string
- func (b *FastStringBuilder) Write(p []byte)
- func (b *FastStringBuilder) WriteByte(c byte) error
- func (b *FastStringBuilder) WriteString(s string)
- type Features
- type FeedbackConfig
- type FeedbackLoop
- type FeedbackSignal
- type Filter
- type FusionStageMap
- type GMSA
- type GMSAFilter
- type GPUAccelerator
- type GistFilter
- type GoalDrivenFilter
- type GoalMode
- type GraphCoTFilter
- type GuardrailResult
- type H2OConfig
- type H2OFilter
- type H2OLayerConfig
- type HeatmapGenerator
- type HierarchicalFilter
- type HierarchicalSummaryFilter
- type HotPathOptimizer
- type IBConfig
- type ImportFilter
- type IncrementalCompressor
- type IncrementalDelta
- type InformationBottleneck
- type InterLayerFeedback
- type JSONSamplerFilter
- type KVCacheAligner
- type KVCacheConfig
- type L0Summary
- type L1Summary
- type L2Summary
- type LLMCompressRequest
- type LLMCompressResponse
- type LLMCompressor
- type LRUCache
- type Language
- type LatentCollabFilter
- type LayerBitset
- type LayerCache
- type LayerCacheEntry
- type LayerConfig
- type LayerFusion
- type LayerGate
- type LayerMeta
- type LayerMetrics
- type LayerRegistry
- type LayerSelector
- type LayerSkipPredictor
- type LayerStat
- type LayerTier
- type LayerTiming
- type LayersSection
- type LazyLayer
- type LazyPrunerConfig
- type LazyPrunerFilter
- func (f *LazyPrunerFilter) Apply(input string, mode Mode) (string, int)
- func (f *LazyPrunerFilter) Clear()
- func (f *LazyPrunerFilter) GetLayerBudget(layer int) int
- func (f *LazyPrunerFilter) GetLayerBudgets() []int
- func (f *LazyPrunerFilter) GetStats() LazyPrunerStats
- func (f *LazyPrunerFilter) Name() string
- func (f *LazyPrunerFilter) ReviveTokens(layer int, count int) []Token
- func (f *LazyPrunerFilter) SelectTokens(tokens []Token, layer int, threshold float64) []Token
- func (f *LazyPrunerFilter) StorePruned(tokens []Token, layer int)
- type LazyPrunerLayerConfig
- type LazyPrunerStats
- type LightMem
- type LightMemFilter
- type LightThinker
- type LightThinkerFilter
- type LockFreeCounter
- type LogCrunch
- type LogCrunchConfig
- type LogCrunchFilter
- type ManagerConfig
- type MarginalInfoGain
- type MarginalInfoGainFilter
- type Message
- type MetaToken
- type MetaTokenConfig
- type MetaTokenFilter
- func (f *MetaTokenFilter) Apply(input string, mode Mode) (string, int)
- func (f *MetaTokenFilter) Decompress(input string) string
- func (f *MetaTokenFilter) GetMetaTokens() map[string]MetaToken
- func (f *MetaTokenFilter) LoadMetaTokens(tokens map[string]MetaToken)
- func (f *MetaTokenFilter) Name() string
- func (f *MetaTokenFilter) Stats() MetaTokenStats
- type MetaTokenLayerConfig
- type MetaTokenStats
- type Milestone
- type MinHashDedup
- type Mode
- type MultiFileConfig
- type MultiFileFilter
- type MultiLangAST
- type NearDedupFilter
- type NgramAbbreviator
- type NumericalQuantLayerConfig
- type PATHShimInjector
- type ParallelCompressor
- func (pc *ParallelCompressor) Compress(input string) (string, int)
- func (pc *ParallelCompressor) CompressBatch(inputs []string) []ParallelProcessResult
- func (pc *ParallelCompressor) CompressBatchContext(ctx context.Context, inputs []string) ([]ParallelProcessResult, error)
- func (pc *ParallelCompressor) WorkerCount() int
- type ParallelExecutor
- type ParallelFilterResult
- type ParallelPipelineStats
- type ParallelProcessResult
- type ParallelProcessor
- type PathShorten
- type PathShortenFilter
- type PerceptionCompress
- type PerceptionCompressFilter
- type PerplexityFilter
- type PerplexityOptimizer
- type PhotonFilter
- type PipeOp
- type Pipeline
- type PipelineConfig
- func BuildConfigFromTiers(tiers []AutoTier, baseConfig PipelineConfig) PipelineConfig
- func LoadPipelineFromTOML(path string) (PipelineConfig, error)
- func ModeConfig(mode CompressionMode, baseMode Mode) PipelineConfig
- func PresetConfig(preset PipelinePreset, baseMode Mode) PipelineConfig
- func ProfileConfig(profile Profile, baseMode Mode) PipelineConfig
- func TierConfig(tier Tier, baseMode Mode) PipelineConfig
- func ToFilterPipelineConfig(c config.PipelineConfig, opts PipelineRuntimeOptions) PipelineConfig
- type PipelineConfigWithNestedLayers
- type PipelineCoordinator
- type PipelineManager
- func (m *PipelineManager) Process(input string, mode Mode, ctx config.CommandContext) (*ProcessResult, error)
- func (m *PipelineManager) ProcessWithBudget(input string, mode Mode, budget int, ctx config.CommandContext) (*ProcessResult, error)
- func (m *PipelineManager) ProcessWithQuery(input string, mode Mode, query string, ctx config.CommandContext) (*ProcessResult, error)
- type PipelinePreset
- type PipelineRuntimeOptions
- type PipelineSection
- type PipelineStats
- type PlanBudgetFilter
- type PositionAwareFilter
- type PreviewMode
- type ProcessResult
- type Profile
- type Profiler
- type PyramidBudget
- type QualityCache
- type QualityEstimator
- type QualityGuardrail
- type QualityPredictor
- type QuantumLockFilter
- type QueryAwareFilter
- type QueryIntent
- type QuestionAwareLayerConfig
- type RatioPredictor
- type ReadMode
- type ReadOptions
- type RealtimeMetrics
- type ReasoningFilter
- type RefactoredCoordinator
- type RegexCache
- type ReversibleStore
- type RoleBudgetFilter
- type RollingHash
- type RuleType
- type S2MAD
- type S2MADFilter
- type SIMDEntropyFilter
- type SSDP
- type SSDPFilter
- type SWEAdaptiveLoopFilter
- type SafeFilter
- type SafetySection
- type SearchCrunchFilter
- type Section
- type SemanticAnchorConfig
- type SemanticAnchorFilter
- func (f *SemanticAnchorFilter) Apply(input string, mode Mode) (string, int)
- func (f *SemanticAnchorFilter) GetAnchorDensity(token string) float64
- func (f *SemanticAnchorFilter) GetAnchors() []AnchorToken
- func (f *SemanticAnchorFilter) GetStats() SemanticAnchorStats
- func (f *SemanticAnchorFilter) Name() string
- type SemanticAnchorLayerConfig
- type SemanticAnchorStats
- type SemanticChunk
- type SemanticChunkConfig
- type SemanticChunkFilter
- type SemanticChunkLayerConfig
- type SemanticEquivalence
- type SemanticFilter
- type SemanticFilters
- type SessionConfig
- type SessionHistory
- type SessionStats
- type SessionTracker
- type Severity
- type SinkConfig
- type Sketch
- type SketchCache
- type SketchEntry
- type SketchStats
- type SketchStoreConfig
- type SketchStoreFilter
- func (f *SketchStoreFilter) Apply(input string, mode Mode) (string, int)
- func (f *SketchStoreFilter) Clear()
- func (f *SketchStoreFilter) ExportSketches() ([]byte, error)
- func (f *SketchStoreFilter) GetAllSketches() map[string]*Sketch
- func (f *SketchStoreFilter) GetSketch(hash string) (*Sketch, bool)
- func (f *SketchStoreFilter) GetStats() SketchStats
- func (f *SketchStoreFilter) ImportSketches(data []byte) error
- func (f *SketchStoreFilter) Name() string
- func (f *SketchStoreFilter) Revive(sketchHash string) (string, bool)
- type SketchStoreLayerConfig
- type SlimInfer
- type SlimInferFilter
- type SmallKVCompensator
- type SmallKVConfig
- type SnapshotContext
- type SoftBudget
- type StateSnapshot
- type StoredEntry
- type StreamConfig
- type StreamingPipeline
- type StreamingProcessor
- type StreamingResult
- type StructuralCollapse
- type StructuralCollapseConfig
- type StructuralCollapseFilter
- type SummaryTier
- type TDD
- type TDDConfig
- type TDDStats
- type TFIDFLayerConfig
- type TOMLPipelineConfig
- type TOON
- type TOONConfig
- type TOONEncoder
- type TaskRunnerWrapping
- type TemplatePipe
- type TestInput
- type ThinkSwitcher
- type ThinkSwitcherFilter
- type Tier
- type TieredResult
- type TieredSummaryFilter
- type Token
- type TokenDenseDialect
- type TrainedEvaluatorHeads
- type Turn
- type VariableNGram
- type WenyanFilter
- type WenyanMode
- type ZeroCopyBuffer
Constants ¶
const ( // Budget thresholds TightBudgetThreshold = 1000 // Budgets below this need aggressive filtering MinimalBudgetThreshold = 100 // Budgets below this are emergency mode DefaultBudget = 0 // No budget limit // Content size thresholds MinContentLength = 50 // Below this, entropy calc is unreliable SmallContentThreshold = 200 // Use fast path for content below this MediumContentThreshold = 1000 // Switch to normal processing LargeContentThreshold = 10000 // Use aggressive compression StreamingThreshold = 500000 // Process in chunks above this // Compression thresholds HighCompressionRatio = 0.95 // 95% compression indicates over-compression TargetCompressionRatio = 0.75 // Ideal compression target MinCompressionRatio = 0.10 // Below this, compression isn't worth it // Layer thresholds EntropyMinLength = 50 // Min length for entropy filtering PerplexityMinLines = 5 // Min lines for perplexity pruning H2OMinTokens = 50 // Min tokens for H2O filter AttentionSinkMinLines = 3 // Min lines for attention sink MetaTokenMinLength = 500 // Min length for meta-token compression SemanticChunkMinLength = 300 // Min length for semantic chunking // Early exit configuration EarlyExitCheckInterval = 3 // Check budget every N layers EarlyExitAggressiveInterval = 1 // Check every layer for tight budgets // Cache configuration DefaultCacheSize = 1000 // Default cache size DefaultCacheTTL = 300 // Default TTL in seconds (5 min) CacheEvictionBatch = 100 // Evict this many at a time // Token estimation TokensPerCharHeuristic = 0.25 // 1 token per 4 chars MinTokenEstimate = 1 // Minimum token count )
Pipeline configuration constants.
const ( LayerIdxEntropy = iota LayerIdxPerplexity LayerIdxGoalDriven LayerIdxASTPreserve LayerIdxContrastive LayerIdxNgram LayerIdxEvaluator LayerIdxGist LayerIdxHierarchical LayerIdxCompaction LayerIdxAttribution LayerIdxH2O LayerIdxAttentionSink LayerIdxMetaToken LayerIdxSemanticChunk LayerIdxSketchStore LayerIdxLazyPruner LayerIdxSemanticAnchor LayerIdxAgentMemory LayerIdxEdgeCase LayerIdxReasoning LayerIdxAdvanced NumLayerIndices // must be last; equals total number of layers )
Layer indices for the p.layers slice in PipelineCoordinator. These decouple layer access from hardcoded numbers in six_layer_pipeline.go. If you reorder buildLayers(), update these constants to match.
const ( LayerGateModeAll = "all" LayerGateModeStableOnly = "stable-only" )
const ( LayerPolicyRouter = "0_policy_router" LayerExtractivePrefilter = "0_extractive_prefilter" LayerTOMLFilter = "0_toml_filter" LayerAdaptiveLearning = "1_adaptive_learning" LayerEntropy = "1_entropy" LayerPerplexity = "2_perplexity" LayerGoalDriven = "3_goal_driven" LayerASTPreserve = "4_ast_preserve" LayerContrastive = "5_contrastive" LayerNgram = "6_ngram" LayerEvaluator = "7_evaluator" LayerGist = "8_gist" LayerHierarchical = "9_hierarchical" LayerSession = "10_session" LayerBudget = "10_budget" LayerBudgetTotal = "10_total" LayerCompaction = "11_compaction" LayerAttribution = "12_attribution" LayerH2O = "13_h2o" LayerAttentionSink = "14_attention_sink" LayerEdgeCase = "14_edge_case" LayerMetaToken = "15_meta_token" LayerReasoning = "15_reasoning" LayerSemanticChunk = "16_semantic_chunk" LayerAdvanced = "16_advanced" LayerSemanticCache = "17_semantic_cache" LayerLazyPruner = "18_lazy_pruner" LayerSemanticAnchor = "19_semantic_anchor" LayerAgentMemory = "20_agent_memory" LayerGuardrailFallback = "guardrail_fallback" )
Layer name constants to eliminate magic-string coupling across the codebase. Keep in sync with buildLayers() in pipeline_init.go.
const CacheBreakMarker = "[CACHE_BREAK]"
const ChunkSize = 100000 // 100K tokens per chunk
ChunkSize is the target size for each chunk in streaming mode.
Variables ¶
var AutoTierConfigs = map[AutoTier]AutoTierConfig{ AutoTierPre: { Name: "pre", Description: "Pre-processing (alignment, image compression)", LayerRange: [2]int{0, 0}, Default: true, AutoEnable: true, CostLevel: 1, MinInputLen: 0, ContentTypes: []ContentType{ ContentTypeUnknown, ContentTypeCode, ContentTypeLogs, ContentTypeConversation, ContentTypeGitOutput, ContentTypeTestOutput, ContentTypeDockerOutput, ContentTypeMixed, }, }, AutoTierCore: { Name: "core", Description: "Foundation compression (essential, high ROI)", LayerRange: [2]int{1, 10}, Default: true, AutoEnable: true, CostLevel: 1, MinInputLen: 100, ContentTypes: []ContentType{ ContentTypeUnknown, ContentTypeCode, ContentTypeLogs, ContentTypeConversation, ContentTypeGitOutput, ContentTypeTestOutput, ContentTypeDockerOutput, ContentTypeMixed, }, }, AutoTierSemantic: { Name: "semantic", Description: "Semantic analysis (medium cost, high quality)", LayerRange: [2]int{11, 20}, Default: true, AutoEnable: true, CostLevel: 2, MinInputLen: 500, ContentTypes: []ContentType{ ContentTypeCode, ContentTypeConversation, ContentTypeGitOutput, ContentTypeMixed, }, }, AutoTierAdvanced: { Name: "advanced", Description: "Research layers (specialized, higher cost)", LayerRange: [2]int{21, 40}, Default: false, AutoEnable: true, CostLevel: 3, MinInputLen: 1000, ContentTypes: []ContentType{ ContentTypeCode, ContentTypeConversation, ContentTypeMixed, }, }, AutoTierSpecialized: { Name: "specialized", Description: "Experimental/edge case layers (auto-enabled for large mixed content)", LayerRange: [2]int{41, 50}, Default: false, AutoEnable: true, CostLevel: 4, MinInputLen: 5000, ContentTypes: []ContentType{ ContentTypeMixed, ContentTypeConversation, }, }, }
AutoTierConfigs defines all tier configurations.
var BlockDelimiters = map[rune]rune{
'{': '}',
'[': ']',
'(': ')',
}
BlockDelimiters for brace tracking
var CommentPatternsMap = map[Language]*regexp.Regexp{ LangRust: regexp.MustCompile(`(?m)^//.*$|/\*[\s\S]*?\*/`), LangGo: regexp.MustCompile(`(?m)^//.*$|/\*[\s\S]*?\*/`), LangPython: regexp.MustCompile(`(?m)^#.*$|"""[\s\S]*?"""|'''[\s\S]*?'''`), LangJavaScript: regexp.MustCompile(`(?m)^//.*$|/\*[\s\S]*?\*/`), LangTypeScript: regexp.MustCompile(`(?m)^//.*$|/\*[\s\S]*?\*/`), LangJava: regexp.MustCompile(`(?m)^//.*$|/\*[\s\S]*?\*/`), LangC: regexp.MustCompile(`(?m)^//.*$|/\*[\s\S]*?\*/`), LangCpp: regexp.MustCompile(`(?m)^//.*$|/\*[\s\S]*?\*/`), LangRuby: regexp.MustCompile(`(?m)^#.*$`), LangShell: regexp.MustCompile(`(?m)^#.*$`), LangSQL: regexp.MustCompile(`(?m)^--.*$|/\*[\s\S]*?\*/`), }
CommentPatternsMap maps languages to their comment regex patterns
var ImportPatterns = []*regexp.Regexp{ regexp.MustCompile(`^use\s+`), regexp.MustCompile(`^import\s+`), regexp.MustCompile(`^from\s+\S+\s+import`), regexp.MustCompile(`^require\(`), regexp.MustCompile(`^import\s*\(`), regexp.MustCompile(`^import\s+"`), regexp.MustCompile(`#include\s*<`), regexp.MustCompile(`#include\s*"`), regexp.MustCompile(`^package\s+`), }
ImportPatterns for various languages
var SignaturePatterns = []*regexp.Regexp{ regexp.MustCompile(`^(pub\s+)?(async\s+)?fn\s+\w+`), regexp.MustCompile(`^(pub\s+)?struct\s+\w+`), regexp.MustCompile(`^(pub\s+)?enum\s+\w+`), regexp.MustCompile(`^(pub\s+)?trait\s+\w+`), regexp.MustCompile(`^(pub\s+)?type\s+\w+`), regexp.MustCompile(`^impl\s+`), regexp.MustCompile(`^func\s+(\([^)]+\)\s+)?\w+`), regexp.MustCompile(`^type\s+\w+\s+(struct|interface)`), regexp.MustCompile(`^type\s+\w+\s+\w+`), regexp.MustCompile(`^def\s+\w+`), regexp.MustCompile(`^async\s+def\s+\w+`), regexp.MustCompile(`^class\s+\w+`), regexp.MustCompile(`^function\s+\w+`), regexp.MustCompile(`^(export\s+)?(async\s+)?function\s*\w*`), regexp.MustCompile(`^(export\s+)?(default\s+)?class\s+\w+`), regexp.MustCompile(`^(export\s+)?const\s+\w+\s*=\s*(async\s+)?\([^)]*\)\s*=>`), regexp.MustCompile(`^interface\s+\w+`), regexp.MustCompile(`^type\s+\w+\s*=`), regexp.MustCompile(`^(public|private|protected)?\s*(static\s+)?(class|interface|enum)\s+\w+`), regexp.MustCompile(`^(public|private|protected)?\s*(static\s+)?(async\s+)?\w+\s+\w+\s*\(`), }
SignaturePatterns for function/type signature detection
Functions ¶
func ApplyMode ¶
func ApplyMode(input string, mode Mode, cm CompressionMode) (string, int)
ApplyMode is an alias for ApplyTier (backwards compat).
func ApplyProfile ¶
ApplyProfile is an alias for ApplyTier (backwards compat).
func AutoProcess ¶
AutoProcess detects content type and applies the optimal profile.
func BytesToString ¶
BytesToString converts []byte to string without allocation. Safety contract: the caller MUST NOT modify the input byte slice after calling this function if the returned string is still referenced. The returned string shares memory with the input slice.
func CacheBreakpointScore ¶
func CacheabilityScore ¶
CacheabilityScore returns a 0-100 score indicating how cacheable content is. Higher scores mean more stable prefix, better cache hit rate.
func ClassifyContent ¶
ClassifyContent classifies content as static or dynamic.
func CollectOutputs ¶
func CollectOutputs(results []ParallelProcessResult) []string
CollectOutputs collects all outputs from results in order
func CompileRegex ¶
func DetectLanguage ¶
DetectLanguage attempts to detect the programming language from output using weighted scoring across multiple indicators. For performance, only the first 4KB of output are scanned.
func EstimateCacheHitRate ¶
EstimateCacheHitRate estimates the cache hit rate for repeated requests.
func EstimateTierCost ¶
EstimateTierCost estimates processing cost for given tiers.
func EstimateTokens ¶
EstimateTokens provides a heuristic token count. Delegates to core.EstimateTokens for single source of truth (T22).
func ExecuteFiltersParallel ¶
ExecuteFiltersParallel runs independent filters in parallel This improves throughput for multi-core systems
func ExecuteFiltersSequential ¶
ExecuteFiltersSequential runs filters sequentially Use when filters depend on each other's output
func FilterNoisyOutput ¶
FilterNoisyOutput removes common noise from terminal output.
func FilterProgressBars ¶
FilterProgressBars removes progress bar lines from output. Progress bars are noisy and consume tokens.
func FormatDelta ¶
func FormatDelta(delta IncrementalDelta) string
FormatDelta returns a human-readable delta string.
func FormatTDDStats ¶
FormatTDDStats returns a human-readable stats string.
func GetProgressCallback ¶
func GetProgressCallback() func(layerName string, inputTokens, outputTokens int, progressPercent float64)
GetProgressCallback returns the currently registered progress callback.
func HammingDistance ¶
HammingDistance returns the number of differing bits between two hashes.
func HasANSI ¶
HasANSI checks if the input contains ANSI escape sequences. Uses SIMD-optimized implementation for 8x speedup.
func IsNearDuplicate ¶
IsNearDuplicate returns true if two content blocks are near-duplicates. Uses SimHash with configurable Hamming distance threshold.
func JSONPathExtract ¶
JSONPathExtract extracts values from JSON using simple path notation.
func NewLRUCache ¶
NewLRUCache creates an LRU cache with given max size and TTL.
func PreferLessMode ¶
PreferLessMode compares filtered vs piped output and uses smaller. Inspired by tokf's prefer-less mode.
func PruneMetadata ¶
PruneMetadata removes unnecessary metadata from JSON (npm URLs, integrity hashes, etc.).
func PutBuffer ¶
func PutBuffer(buf *ZeroCopyBuffer)
func PutBytes ¶
func PutBytes(b *[]byte)
PutBytes is a convenience function to return bytes to the global pool
func QuickProcess ¶
QuickProcess compresses input with default configuration
func QuickProcessPreset ¶
func QuickProcessPreset(input string, mode Mode, preset PipelinePreset) (string, int)
func ReadContent ¶
func ReadContent(content string, opts ReadOptions) string
ReadContent reads content with the specified mode.
func SetProgressCallback ¶
func SetProgressCallback(cb func(layerName string, inputTokens, outputTokens int, progressPercent float64))
SetProgressCallback registers the pipeline progress callback. Called by the commands/shared package to integrate with the status line.
func ShouldStream ¶
ShouldStream returns true if the input should be processed in streaming mode.
func ShouldUseParallel ¶
ShouldUseParallel determines if parallel execution is beneficial
func SimHash ¶
SimHash computes a 64-bit fingerprint for content deduplication. Uses character n-gram hashing with Hamming distance for near-duplicate detection.
func SmartTruncate ¶
SmartTruncate truncates content while preserving function signatures. This is useful for code files where you want to keep the API surface but remove implementation details.
func StringToBytes ¶
StringToBytes converts string to []byte without allocation. Safety contract: the caller MUST NOT modify the returned byte slice. The returned slice shares memory with the original string, and modifying it violates Go's string immutability guarantee, leading to undefined behavior.
func StripANSI ¶
StripANSI is a utility function to strip ANSI codes from a string. Delegates to SIMD-optimized implementation.
func StripLineNumbers ¶
StripLineNumbers removes line number prefixes from tool output (e.g., "1-> content").
func TotalSaved ¶
func TotalSaved(results []ParallelProcessResult) int
TotalSaved calculates total tokens saved from results
func WenyanCompress ¶
func WenyanCompress(input string, mode WenyanMode) string
WenyanCompress applies wenyan-style compression to the input.
Types ¶
type ACONFilter ¶
type ACONFilter struct {
// contains filtered or unexported fields
}
Paper: "ACON: Optimizing Context Compression for Long-Context LLMs" — ICLR 2026 ACONFilter implements adaptive context optimization — dynamically adjusts compression based on content complexity and context length.
func NewACONFilter ¶
func NewACONFilter() *ACONFilter
NewACONFilter creates a new ACON-style context compression filter.
type ANSIFilter ¶
type ANSIFilter struct{}
ANSIFilter strips ANSI escape sequences from output. Uses SIMD-optimized byte scanning for ~10-40x speedup over regex.
type ASTOptimizer ¶
type ASTOptimizer struct {
// contains filtered or unexported fields
}
ASTOptimizer uses tree-sitter for AST parsing
func NewASTOptimizer ¶
func NewASTOptimizer() *ASTOptimizer
type ASTPreserveFilter ¶
type ASTPreserveFilter struct {
// contains filtered or unexported fields
}
Paper: "LongCodeZip" — Shi et al., SJTU/Stanford, 2025 https://arxiv.org/abs/2510.00446 Paper: "LongCodeZip" — Shi et al., SJTU/Stanford, 2025 https://arxiv.org/abs/2510.00446 ASTPreserveFilter implements LongCodeZip-style compression (NUS, 2025). AST-aware compression that preserves syntactic validity of code.
Algorithm: 1. Detect programming language from syntax patterns 2. Parse code structure (brackets, braces, indentation) 3. Apply entropy-based pruning while preserving AST integrity 4. Never break syntactic boundaries (function bodies, blocks, strings)
Enhanced with Dual-Stage LongCodeZip Methodology: - Stage 1: Coarse-Grained (Function-Level) pruning - Stage 2: Fine-Grained (Block-Level) adaptive compression
Research Results: 4-8x compression while maintaining parseable code. LongCodeZip: 5.6x reduction, 16% better accuracy than LLMLingua on code.
func NewASTPreserveFilter ¶
func NewASTPreserveFilter() *ASTPreserveFilter
NewASTPreserveFilter creates a new AST-aware filter
func (*ASTPreserveFilter) Apply ¶
func (f *ASTPreserveFilter) Apply(input string, mode Mode) (string, int)
Apply applies AST-aware filtering
func (*ASTPreserveFilter) Name ¶
func (f *ASTPreserveFilter) Name() string
Name returns the filter name
func (*ASTPreserveFilter) SetQueryIntent ¶
func (f *ASTPreserveFilter) SetQueryIntent(query string)
SetQueryIntent sets the query intent for query-aware scoring
type AdaptiveBufferSizer ¶
type AdaptiveBufferSizer struct {
// contains filtered or unexported fields
}
AdaptiveBufferSizer dynamically adjusts buffer sizes
func NewAdaptiveBufferSizer ¶
func NewAdaptiveBufferSizer(min, max int) *AdaptiveBufferSizer
func (*AdaptiveBufferSizer) Adjust ¶
func (abs *AdaptiveBufferSizer) Adjust(inputSize int) int
type AdaptiveLayerSelector ¶
type AdaptiveLayerSelector struct {
// contains filtered or unexported fields
}
AdaptiveLayerSelector dynamically enables/disables layers based on content type. Uses heuristic analysis to optimize compression for different input patterns.
func NewAdaptiveLayerSelector ¶
func NewAdaptiveLayerSelector() *AdaptiveLayerSelector
NewAdaptiveLayerSelector creates a new adaptive selector
func (*AdaptiveLayerSelector) AnalyzeContent ¶
func (a *AdaptiveLayerSelector) AnalyzeContent(input string) ContentType
AnalyzeContent detects the primary content type
func (*AdaptiveLayerSelector) OptimizePipeline ¶
func (a *AdaptiveLayerSelector) OptimizePipeline(input string, mode Mode) *PipelineCoordinator
OptimizePipeline returns an optimized coordinator for the given input
func (*AdaptiveLayerSelector) RecommendedConfig ¶
func (a *AdaptiveLayerSelector) RecommendedConfig(ct ContentType, mode Mode) PipelineConfig
RecommendedConfig returns optimal layer configuration for the content type
func (*AdaptiveLayerSelector) RecommendedConfigWithTiers ¶
func (a *AdaptiveLayerSelector) RecommendedConfigWithTiers(ct ContentType, mode Mode, inputLen int, queryIntent string) PipelineConfig
RecommendedConfigWithTiers returns optimal configuration using tier-based enablement. This is the recommended way to configure the pipeline for automatic tier selection.
type AdaptiveLearningFilter ¶
type AdaptiveLearningFilter struct {
// contains filtered or unexported fields
}
AdaptiveLearningFilter combines Layer 50 (EngramLearner) and Layer 51 (TieredSummary) into a single post-processing layer that learns from patterns and generates progressive summaries.
This merged layer: 1. First applies EngramLearner to detect and learn error patterns 2. Then applies TieredSummary for L0/L1/L2 progressive summarization
Research basis: - EngramLearner: Error pattern learning with 14 classifiers - TieredSummary: Progressive summarization (surface → structural → deep)
func NewAdaptiveLearningFilter ¶
func NewAdaptiveLearningFilter() *AdaptiveLearningFilter
NewAdaptiveLearningFilter creates a new adaptive learning filter. This replaces both NewEngramLearner() and NewTieredSummaryFilter().
func (*AdaptiveLearningFilter) Apply ¶
func (a *AdaptiveLearningFilter) Apply(input string, mode Mode) (string, int)
Apply runs both learning and summarization in sequence.
func (*AdaptiveLearningFilter) GenerateTiers ¶
func (a *AdaptiveLearningFilter) GenerateTiers(input string) *TieredResult
GenerateTiers generates tiered summaries from input.
func (*AdaptiveLearningFilter) GetLearningStats ¶
func (a *AdaptiveLearningFilter) GetLearningStats() map[string]interface{}
GetLearningStats returns statistics from the learning component.
func (*AdaptiveLearningFilter) IsEnabled ¶
func (a *AdaptiveLearningFilter) IsEnabled() bool
IsEnabled returns whether the filter is enabled.
func (*AdaptiveLearningFilter) Name ¶
func (a *AdaptiveLearningFilter) Name() string
Name returns the filter name.
func (*AdaptiveLearningFilter) SetEnabled ¶
func (a *AdaptiveLearningFilter) SetEnabled(enabled bool)
SetEnabled enables or disables the filter.
type AdaptivePipeline ¶
type AdaptivePipeline struct {
// contains filtered or unexported fields
}
AdaptivePipeline selects layers based on content characteristics
func NewAdaptivePipeline ¶
func NewAdaptivePipeline(layers []Filter) *AdaptivePipeline
type AdvancedFilter ¶
type AdvancedFilter struct {
// contains filtered or unexported fields
}
func NewAdvancedFilter ¶
func NewAdvancedFilter() *AdvancedFilter
func (*AdvancedFilter) Apply ¶
func (f *AdvancedFilter) Apply(input string, mode Mode) (string, int)
func (*AdvancedFilter) Name ¶
func (f *AdvancedFilter) Name() string
type AgentMemoryConfig ¶
type AgentMemoryConfig struct {
// KnowledgeRetentionRatio is the ratio of knowledge to keep (0.0-1.0)
KnowledgeRetentionRatio float64
// HistoryPruneRatio is the ratio of history to prune after consolidation
HistoryPruneRatio float64
// ConsolidationThreshold triggers consolidation when history exceeds this
ConsolidationThreshold int
// EnableAutoConsolidation allows autonomous memory management
EnableAutoConsolidation bool
// KnowledgeMaxSize limits the knowledge block size
KnowledgeMaxSize int
// PreservePatterns are regex patterns for important content to always keep
PreservePatterns []*regexp.Regexp
}
AgentMemoryConfig holds configuration for agent memory management
func DefaultAgentMemoryConfig ¶
func DefaultAgentMemoryConfig() AgentMemoryConfig
DefaultAgentMemoryConfig returns default configuration
type AgentMemoryFilter ¶
type AgentMemoryFilter struct {
// contains filtered or unexported fields
}
AgentMemoryFilter implements Layer 20: Agent Memory Mode (Focus-inspired).
Research Source: "Active Context Compression / Focus" (arXiv, January 2026) Key Innovation: Agent-centric autonomous memory management inspired by slime mold. Results: 22.7% token reduction (14.9M → 11.5M), 57% savings on individual instances.
Methodology (Physarum polycephalum inspired): 1. Knowledge Consolidation - Extract learnings into "Knowledge" block 2. Active Withdrawal - Prune raw interaction history after consolidation 3. Self-Regulation - Agent decides when to consolidate vs. keep raw
This filter maintains session state and autonomously manages context bloating in long-horizon agent tasks by distinguishing between: - Knowledge: Consolidated insights (high value, permanent) - History: Raw interaction logs (transient, prunable)
func NewAgentMemoryFilter ¶
func NewAgentMemoryFilter() *AgentMemoryFilter
NewAgentMemoryFilter creates a new agent memory filter
func NewAgentMemoryFilterWithConfig ¶
func NewAgentMemoryFilterWithConfig(cfg AgentMemoryConfig) *AgentMemoryFilter
NewAgentMemoryFilterWithConfig creates a filter with custom config
func (*AgentMemoryFilter) Apply ¶
func (f *AgentMemoryFilter) Apply(input string, mode Mode) (string, int)
Apply applies agent memory management compression
func (*AgentMemoryFilter) GetStats ¶
func (f *AgentMemoryFilter) GetStats() AgentMemoryStats
GetStats returns current memory management statistics
func (*AgentMemoryFilter) Name ¶
func (f *AgentMemoryFilter) Name() string
Name returns the filter name
func (*AgentMemoryFilter) Reset ¶
func (f *AgentMemoryFilter) Reset()
Reset clears the memory state (for new sessions)
type AgentMemoryLayerConfig ¶
type AgentMemoryLayerConfig struct {
Enabled bool
KnowledgeRetention float64
HistoryPrune float64
ConsolidationMax int
}
AgentMemoryLayerConfig groups Layer 20 settings.
type AgentMemoryStats ¶
type AgentMemoryStats struct {
TotalConsolidated int
TotalPruned int
KnowledgeTokens int
HistoryTokens int
TokensSaved int
}
AgentMemoryStats tracks memory management statistics
type AgentOCRFilter ¶
type AgentOCRFilter struct {
// contains filtered or unexported fields
}
Paper: "AgentOCR: Content-Density Aware Compression for Multi-Turn Agent Trajectories" arXiv 2026
AgentOCRFilter operates on multi-turn agent outputs (tool call sequences, conversation turns). It measures the "content density" of each turn — the ratio of information-bearing lines to total lines — and collapses low-density turns into a single summary stub while preserving high-density turns in full.
Content density signals:
- Information-bearing: error lines, code lines, unique-term-rich lines
- Filler: empty lines, repeated terms, pure-whitespace lines
Turn detection: turns are separated by patterns like:
- "Human:", "Assistant:", "User:", "Agent:", "System:"
- "<human>", "<assistant>", markdown "## Turn N"
Density thresholds:
- Low density (<0.30): collapse to "[Turn summary: N lines, M tokens]"
- Medium density (0.30–0.65): keep first+last few lines + omission marker
- High density (>0.65): preserve fully
func NewAgentOCRFilter ¶
func NewAgentOCRFilter() *AgentOCRFilter
NewAgentOCRFilter creates a new agent turn content-density filter.
type AgentOCRHistoryFilter ¶
type AgentOCRHistoryFilter struct {
// contains filtered or unexported fields
}
AgentOCRHistoryFilter compacts older conversation turns while preserving recent turns.
func NewAgentOCRHistoryFilter ¶
func NewAgentOCRHistoryFilter() *AgentOCRHistoryFilter
NewAgentOCRHistoryFilter creates the history-focused AgentOCR extension.
func (*AgentOCRHistoryFilter) Apply ¶
func (f *AgentOCRHistoryFilter) Apply(input string, mode Mode) (string, int)
Apply compresses old low-density turns and preserves recent high-signal turns.
func (*AgentOCRHistoryFilter) Name ¶
func (f *AgentOCRHistoryFilter) Name() string
Name returns the filter name.
type AggregateStats ¶
type AggregateStats struct {
AvgCompression float64
MinCompression float64
MaxCompression float64
StdDevCompression float64
AvgLatency float64
TotalTime time.Duration
AvgQuality float64
}
AggregateStats provides summary statistics.
type AnchorToken ¶
type AnchorToken struct {
Text string
Position int
Score float64
Aggregated []string // Tokens aggregated into this anchor
IsStructural bool
}
AnchorToken represents a semantic anchor point
type ApplicabilityCheck ¶
ApplicabilityCheck is an optional interface that filters can implement to report whether they should run for a given input. The coordinator calls this before Apply to implement stage gates (skip cheap before expensive).
type AttentionSinkFilter ¶
type AttentionSinkFilter struct {
// contains filtered or unexported fields
}
Paper: "StreamingLLM: Attention Sinks" — Xiao et al., MIT, 2023 https://arxiv.org/abs/2309.17453 Paper: "StreamingLLM: Attention Sinks" — Xiao et al., MIT, 2023 https://arxiv.org/abs/2309.17453 AttentionSinkFilter implements StreamingLLM-style attention sink preservation. Research basis: "Efficient Streaming Language Models with Attention Sinks" (Xiao et al., 2023) - enables infinite-length generation with bounded memory.
Key insight: The first few tokens in a sequence act as "attention sinks" - they absorb excess attention weight due to softmax normalization. Removing these tokens breaks the attention distribution the model learned during training.
This layer: 1. Always preserves initial tokens (attention sinks) 2. Preserves structural anchors (headers, prefixes, markers) 3. Applies rolling cache to remaining content
This is Layer 14 in the pipeline, ensuring stable compression for long content.
func NewAdaptiveAttentionSinkFilter ¶
func NewAdaptiveAttentionSinkFilter(outputLines int) *AttentionSinkFilter
NewAdaptiveAttentionSinkFilter creates a filter with adaptive sink count. StreamingLLM insight — sink count scales with output length.
func NewAttentionSinkFilter ¶
func NewAttentionSinkFilter() *AttentionSinkFilter
NewAttentionSinkFilter creates a new attention sink filter
func (*AttentionSinkFilter) Apply ¶
func (a *AttentionSinkFilter) Apply(input string, mode Mode) (string, int)
Apply applies attention sink preservation to the input
func (*AttentionSinkFilter) GetStats ¶
func (a *AttentionSinkFilter) GetStats() map[string]any
GetStats returns filter statistics
func (*AttentionSinkFilter) Name ¶
func (a *AttentionSinkFilter) Name() string
Name returns the filter name
func (*AttentionSinkFilter) SetEnabled ¶
func (a *AttentionSinkFilter) SetEnabled(enabled bool)
SetEnabled enables or disables the filter
type AttentionSinkLayerConfig ¶
AttentionSinkLayerConfig groups Layer 14 settings.
type AttributionConfig ¶
type AttributionConfig struct {
// Enable attribution filtering
Enabled bool
// Threshold for token importance (0.0-1.0)
// Tokens below this score are candidates for removal
ImportanceThreshold float64
// Minimum content length to apply attribution
MinContentLength int
// Use positional bias (later tokens often less important)
PositionalBias bool
// Use frequency-based importance (repeated tokens may be less important)
FrequencyBias bool
// Use semantic markers (preserve keywords, numbers, code)
SemanticPreservation bool
// Maximum tokens to analyze (for performance)
MaxAnalyzeTokens int
}
AttributionConfig holds configuration for attribution-based pruning
func DefaultAttributionConfig ¶
func DefaultAttributionConfig() AttributionConfig
DefaultAttributionConfig returns default configuration
type AttributionFilter ¶
type AttributionFilter struct {
// contains filtered or unexported fields
}
AttributionFilter implements attribution-based token pruning. Research basis: "ProCut: Progressive Pruning via Attribution" (LinkedIn, 2025) Achieves 78% token reduction by using importance scoring.
Key technique: Attribution scores (simplified SHAP) identify which tokens contribute most to the output. Low-importance tokens are pruned.
This is Layer 12 in the pipeline, adding ML-style importance without requiring actual model training.
func NewAttributionFilter ¶
func NewAttributionFilter() *AttributionFilter
NewAttributionFilter creates a new attribution filter
func (*AttributionFilter) Apply ¶
func (a *AttributionFilter) Apply(input string, mode Mode) (string, int)
Apply applies attribution-based pruning to the input
func (*AttributionFilter) GetStats ¶
func (a *AttributionFilter) GetStats() map[string]any
GetStats returns filter statistics
func (*AttributionFilter) Name ¶
func (a *AttributionFilter) Name() string
Name returns the filter name
func (*AttributionFilter) SetEnabled ¶
func (a *AttributionFilter) SetEnabled(enabled bool)
SetEnabled enables or disables the filter
type AttributionLayerConfig ¶
AttributionLayerConfig groups Layer 12 settings.
type AutoTier ¶
type AutoTier int
AutoTier represents an automatic tier for adaptive layer enablement. Tiers are enabled automatically based on content context.
const ( // AutoTierPre: Pre-processing layers (always run first) // Layers: 0 (QuantumLock), 0.5 (Photon) AutoTierPre AutoTier = iota // AutoTierCore: Foundation compression (high ROI, always enabled) // Layers: 1-10 (Entropy, Perplexity, AST, etc.) AutoTierCore // AutoTierSemantic: Semantic analysis (medium cost, high quality) // Layers: 11-20 (Compaction, H2O, Attention Sink, etc.) AutoTierSemantic // AutoTierAdvanced: Research layers (higher cost, specialized) // Layers: 21-40 (DiffAdapt, EPiC, AgentOCR, etc.) AutoTierAdvanced // AutoTierSpecialized: Experimental/edge cases (enable manually) // Layers: 41-50 (ContextCrunch, SearchCrunch, AdaptiveLearning) AutoTierSpecialized // AutoTierCount: Total number of tiers AutoTierCount )
func QuickTierEnable ¶
QuickTierEnable returns a simple tier selection for common use cases.
type AutoTierConfig ¶
type AutoTierConfig struct {
Name string
Description string
LayerRange [2]int // [start, end] layer numbers
Default bool // Enabled by default
AutoEnable bool // Can be auto-enabled based on context
CostLevel int // 1=low, 2=medium, 3=high, 4=very high
MinInputLen int // Minimum input length to enable
ContentTypes []ContentType // Content types this tier is good for
}
AutoTierConfig holds configuration for each tier.
type AutoTierRecommendation ¶
AutoTierRecommendation holds recommended tiers for a context.
func RecommendTiers ¶
func RecommendTiers(contentType ContentType, inputLen int, queryIntent string) AutoTierRecommendation
RecommendTiers analyzes content and recommends which tiers to enable.
type BeamSearchPerplexity ¶
type BeamSearchPerplexity struct {
// contains filtered or unexported fields
}
func NewBeamSearchPerplexity ¶
func NewBeamSearchPerplexity(w int) *BeamSearchPerplexity
type BenchmarkReport ¶
type BenchmarkReport struct {
Timestamp time.Time
TotalTests int
Passed int
Failed int
OverallStats AggregateStats
Results []BenchmarkResult
Recommendations []string
}
BenchmarkReport aggregates all benchmark results.
type BenchmarkResult ¶
type BenchmarkResult struct {
TestName string
ContentType string
OriginalTokens int
CompressedTokens int
ReductionPct float64
CompressionTime time.Duration
PerTokenLatency float64 // microseconds per token
Reversible bool
ReconstructionDiff float64 // 0-1 similarity score
QualityScore float64 // 0-1 quality score
LayerBreakdown map[string]LayerTiming
}
BenchmarkResult holds results for a single test case.
type BloomFilter ¶
type BloomFilter struct {
// contains filtered or unexported fields
}
BloomFilter for H2O optimization
func NewBloomFilter ¶
func NewBloomFilter(size int) *BloomFilter
func (*BloomFilter) Add ¶
func (bf *BloomFilter) Add(item string)
func (*BloomFilter) Contains ¶
func (bf *BloomFilter) Contains(item string) bool
type BodyFilter ¶
type BodyFilter struct {
// contains filtered or unexported fields
}
BodyFilter strips function bodies in aggressive mode. Preserves function signatures while removing body content.
type BudgetAllocator ¶
type BudgetAllocator struct {
// contains filtered or unexported fields
}
Task 39: Compression budget allocator
func NewBudgetAllocator ¶
func NewBudgetAllocator() *BudgetAllocator
func (*BudgetAllocator) Allocate ¶
func (b *BudgetAllocator) Allocate(layerID, budget int)
type BudgetConfig ¶
type BudgetConfig struct {
Budget int // Maximum tokens (0 = unlimited)
}
BudgetConfig holds configuration for the budget enforcer
type BudgetEnforcer ¶
type BudgetEnforcer struct {
// contains filtered or unexported fields
}
BudgetEnforcer enforces strict token limits on output. Research-based: Budget-Constrained Compression (2024) - provides predictable output size by scoring segments and keeping only the most important ones.
Key insight: LLMs have finite context windows. Enforcing a strict budget ensures output fits within constraints while maximizing information content.
func NewBudgetEnforcer ¶
func NewBudgetEnforcer(budget int) *BudgetEnforcer
NewBudgetEnforcer creates a new budget enforcer.
func NewBudgetEnforcerWithConfig ¶
func NewBudgetEnforcerWithConfig(cfg BudgetConfig) *BudgetEnforcer
NewBudgetEnforcerWithConfig creates a budget enforcer with config.
func (*BudgetEnforcer) Apply ¶
func (f *BudgetEnforcer) Apply(input string, mode Mode) (string, int)
Apply enforces the token budget on the output.
func (*BudgetEnforcer) SetBudget ¶
func (f *BudgetEnforcer) SetBudget(budget int)
SetBudget updates the token budget
type BufferPool ¶
type BufferPool struct {
// contains filtered or unexported fields
}
BufferPool manages reusable buffers
func NewBufferPool ¶
func NewBufferPool(size int) *BufferPool
func (*BufferPool) Get ¶
func (bp *BufferPool) Get() *ZeroCopyBuffer
func (*BufferPool) Put ¶
func (bp *BufferPool) Put(buf *ZeroCopyBuffer)
type BytePool ¶
type BytePool struct {
// contains filtered or unexported fields
}
func (*BytePool) AcquireStringBuilder ¶
AcquireStringBuilder gets a bytes.Buffer from the pool based on capacity needs. The returned buffer is reset and ready for use.
func (*BytePool) ReleaseStringBuilder ¶
ReleaseStringBuilder returns a buffer to the appropriate pool for reuse. Buffers are reset before pooling to prevent memory leaks.
type CARLFilter ¶
type CARLFilter struct {
// contains filtered or unexported fields
}
Paper: "CARL: Critical Action Focused Reinforcement Learning for Multi-Step Agent" arXiv:2512.04949 — 2025
CARLFilter identifies "critical" vs "non-critical" tool-call entries in agent output sequences and drops the non-critical ones.
Criticality is defined as: did this action cause an observable state change?
Critical: error output, file writes/deletes, test failures, non-empty diffs,
non-zero exit codes, assertion failures, CRUD operations
Non-critical: empty results, successful no-ops, pure info queries,
repeated identical results, health checks
CARL's key insight (from RL perspective): in a long agent trajectory, most actions are "maintenance" (checking state, listing files, echoing info) and carry no new causal information. Keeping only critical actions and their immediate context preserves the trajectory's causal skeleton at a fraction of the token cost.
func NewCARLFilter ¶
func NewCARLFilter() *CARLFilter
NewCARLFilter creates a new CARL critical-action filter.
type CRFGoalDriven ¶
type CRFGoalDriven struct {
// contains filtered or unexported fields
}
Task 37: CRF-based goal-driven selection
func NewCRFGoalDriven ¶
func NewCRFGoalDriven() *CRFGoalDriven
func (*CRFGoalDriven) Score ¶
func (c *CRFGoalDriven) Score(line string) float64
type CacheBreakpointFilter ¶
func NewCacheBreakpointFilter ¶
func NewCacheBreakpointFilter() *CacheBreakpointFilter
func (*CacheBreakpointFilter) Filter ¶
func (f *CacheBreakpointFilter) Filter(input string) string
type CacheStats ¶
type CacheStats struct {
Size int
MaxSize int
Hits int64
Misses int64
HitRate float64
Evictions int64
}
CacheStats holds cache performance statistics.
type CachedPipeline ¶
type CachedPipeline struct {
// contains filtered or unexported fields
}
CachedPipeline wraps a PipelineCoordinator with caching
func NewCachedPipeline ¶
func NewCachedPipeline(cfg CachedPipelineConfig) *CachedPipeline
NewCachedPipeline creates a pipeline with caching support
func (*CachedPipeline) Process ¶
func (cp *CachedPipeline) Process(command string, args []string, getOutput func() (string, error)) (*CachedProcessResult, error)
Process executes command with caching
func (*CachedPipeline) Stats ¶
func (cp *CachedPipeline) Stats() (*cache.CacheStats, error)
Stats returns cache statistics
type CachedPipelineConfig ¶
type CachedPipelineConfig struct {
Pipeline *PipelineCoordinator
Cache *cache.QueryCache
GitWatcher *cache.GitWatcher
Enabled bool
}
CachedPipelineConfig for creating a cached pipeline
type CachedProcessResult ¶
type CachedProcessResult struct {
Output string
OriginalOutput string
Stats *PipelineStats
FromCache bool
CacheKey string
CacheHitCount int
}
CachedProcessResult contains the result of a cached process
type CachedResult ¶
CachedResult represents a cached compression result
type Checkpoint ¶
Checkpoint saves compression state
func (*Checkpoint) Save ¶
func (c *Checkpoint) Save(pos int, data string)
type ChunkMethod ¶
type ChunkMethod int
ChunkMethod defines how content is split into chunks
const ( // ChunkAuto auto-detects content type and applies appropriate method ChunkAuto ChunkMethod = iota // ChunkCode uses code-aware chunking (functions, classes) ChunkCode // ChunkText uses text-aware chunking (sentences, paragraphs) ChunkText // ChunkMixed handles mixed code+text content ChunkMixed )
type CircuitBreaker ¶
type CircuitBreaker struct {
// contains filtered or unexported fields
}
CircuitBreaker stops processing on quality drop
func NewCircuitBreaker ¶
func NewCircuitBreaker(threshold float64, maxFails int) *CircuitBreaker
func (*CircuitBreaker) Check ¶
func (cb *CircuitBreaker) Check(quality float64) bool
type CoTCompressFilter ¶
type CoTCompressFilter struct {
// contains filtered or unexported fields
}
Paper: "TokenSkip: Controllable Chain-of-Thought Compression" arXiv:2502.12067 — 2025
CoTCompressFilter detects chain-of-thought reasoning traces in output and applies token-budget-controlled compression:
- ModeMinimal: truncate CoT to first 30% + summary marker
- ModeAggressive: replace entire CoT block with a token-count stub
Applicable when tok wraps tools that emit LLM reasoning output (e.g. claude --verbose, agent traces, reasoning model output).
Patterns detected:
- XML-style: <think>...</think>, <reasoning>...</reasoning>
- Markdown step blocks: "Step 1:", "Let me think", numbered reasoning
- Reflection loops: "Wait,", "Actually,", "Let me reconsider"
func NewCoTCompressFilter ¶
func NewCoTCompressFilter() *CoTCompressFilter
NewCoTCompressFilter creates a new TokenSkip-inspired chain-of-thought compressor.
func (*CoTCompressFilter) Apply ¶
func (f *CoTCompressFilter) Apply(input string, mode Mode) (string, int)
Apply compresses chain-of-thought blocks according to mode.
func (*CoTCompressFilter) Name ¶
func (f *CoTCompressFilter) Name() string
Name returns the filter name.
type CoTCompressor ¶
type CoTCompressor struct{}
type CodeChunk ¶
type CodeChunk struct {
Type string // "function", "class", "method", "block"
Name string
Content string
StartLine int
EndLine int
Score float64 // Importance score
Tokens int
Children []CodeChunk // Nested blocks
}
CodeChunk represents a parsed code unit for dual-stage compression
type CodeContext ¶
type CodeContext struct {
File string `json:"file"`
Symbols []string `json:"symbols"`
Lines string `json:"lines,omitempty"`
}
CodeContext preserves code-specific context
type CodeGist ¶
type CodeGist struct {
// contains filtered or unexported fields
}
func NewCodeGist ¶
func NewCodeGist() *CodeGist
type CodingAgentContext ¶
type CodingAgentContext struct{}
type CodingAgentContextFilter ¶
type CodingAgentContextFilter struct {
// contains filtered or unexported fields
}
Paper: "SWE-Pruner: Self-Adaptive Context Pruning for Coding Agents" arXiv:2601.16746 — Wang et al., Shanghai Jiao Tong, 2026
CodingAgentContextFilter specialises context pruning for the structured tool outputs that coding agents (Claude Code, Cursor, etc.) receive: file reads, bash output, search results, git diffs, test output, compile logs.
Unlike the general GoalDrivenFilter (CRF scoring against query terms), this filter is structure-aware: it identifies the output type and applies a type-specific compression strategy, then self-adjusts the compression ratio based on observed output density.
Type-specific strategies:
file_read — elide unchanged middle sections, keep head+tail bash_output — keep last N lines (most recent = most relevant) search_hits — one result per unique file path git_diff — keep ±-lines only, drop context lines in aggressive mode test_output — keep FAIL/PASS summary + failing assertions compile_log — keep error/warning lines, collapse repeated warnings
func NewCodingAgentContextFilter ¶
func NewCodingAgentContextFilter() *CodingAgentContextFilter
NewCodingAgentContextFilter creates a self-adaptive coding agent context filter.
func (*CodingAgentContextFilter) Apply ¶
func (f *CodingAgentContextFilter) Apply(input string, mode Mode) (string, int)
Apply detects output type and applies the appropriate compression strategy.
func (*CodingAgentContextFilter) Name ¶
func (f *CodingAgentContextFilter) Name() string
Name returns the filter name.
type ColorPassthrough ¶
type ColorPassthrough struct {
// contains filtered or unexported fields
}
ColorPassthrough strips ANSI codes for matching but restores in output. Inspired by tokf's color passthrough.
func (*ColorPassthrough) RestoreCodes ¶
func (cp *ColorPassthrough) RestoreCodes(stripped string) string
RestoreCodes restores ANSI codes to stripped content.
func (*ColorPassthrough) StripAndStore ¶
func (cp *ColorPassthrough) StripAndStore(content string) string
StripAndStore strips ANSI codes and stores their positions.
type CommentFilter ¶
type CommentFilter struct {
// contains filtered or unexported fields
}
CommentFilter strips comments from code.
type CompactionConfig ¶
type CompactionConfig struct {
// Enable LLM-based compaction
Enabled bool
// Minimum content size to trigger compaction (in lines)
ThresholdLines int
// Minimum content size to trigger compaction (in tokens)
ThresholdTokens int
// Number of recent turns to preserve verbatim
PreserveRecentTurns int
// Maximum summary length in tokens
MaxSummaryTokens int
// Content types to compact (chat, conversation, session)
ContentTypes []string
// Enable caching of compaction results
CacheEnabled bool
// Custom prompt template for compaction
PromptTemplate string
// Detect content type automatically
AutoDetect bool
// Create state snapshot format (4-section XML)
StateSnapshotFormat bool
// Extract key-value pairs from content
ExtractKeyValuePairs bool
// Maximum context entries to preserve
MaxContextEntries int
}
CompactionConfig holds configuration for the compaction layer
func DefaultCompactionConfig ¶
func DefaultCompactionConfig() CompactionConfig
DefaultCompactionConfig returns default configuration
type CompactionLayer ¶
type CompactionLayer struct {
// contains filtered or unexported fields
}
Paper: "MemGPT" — Packer et al., UC Berkeley, 2023 https://arxiv.org/abs/2310.08560 CompactionLayer provides semantic compression for chat/conversation content. It creates state snapshots with 4 sections:
1. session_history: user queries + activity log (what was done) 2. current_state: focus + next_action (what's active now) 3. context: critical + working knowledge (what to remember) 4. pending_plan: future milestones (what's next)
Research basis: "MemGPT" (UC Berkeley, 2023) semantic compression achieves 98%+ compression ratios while preserving semantic meaning.
This layer is designed for: - Chat history compression - Conversation-style content - Session state preservation - Multi-turn context management
func NewCompactionLayer ¶
func NewCompactionLayer(cfg CompactionConfig) *CompactionLayer
NewCompactionLayer creates a new compaction layer
func (*CompactionLayer) Apply ¶
func (c *CompactionLayer) Apply(input string, mode Mode) (string, int)
Apply applies compaction to the input
func (*CompactionLayer) GetStats ¶
func (c *CompactionLayer) GetStats() map[string]any
GetStats returns compaction statistics
func (*CompactionLayer) IsAvailable ¶
func (c *CompactionLayer) IsAvailable() bool
IsAvailable returns true if LLM is available
func (*CompactionLayer) SetEnabled ¶
func (c *CompactionLayer) SetEnabled(enabled bool)
SetEnabled enables or disables the compaction layer
type CompactionLayerConfig ¶
type CompactionLayerConfig struct {
Enabled bool
Threshold int
PreserveTurns int
MaxTokens int
StateSnapshot bool
AutoDetect bool
}
CompactionLayerConfig groups Layer 11 settings.
type CompactionResult ¶
type CompactionResult struct {
Snapshot *StateSnapshot
OriginalTokens int
FinalTokens int
SavedTokens int
CompressionRatio float64
Cached bool
Timestamp time.Time
}
CompactionResult represents a compaction result
func Compact ¶
func Compact(input string, cfg CompactionConfig) (string, *CompactionResult)
Compact is a convenience function for one-shot compaction
type CompressionMode ¶
type CompressionMode = Tier
type ConfigurableHierarchical ¶
type ConfigurableHierarchical struct {
// contains filtered or unexported fields
}
func NewConfigurableHierarchical ¶
func NewConfigurableHierarchical(d int) *ConfigurableHierarchical
type ContentDetector ¶
type ContentDetector struct{}
ContentDetector fast content type detection
func (*ContentDetector) Detect ¶
func (cd *ContentDetector) Detect(input string) string
type ContentType ¶
type ContentType int
ContentType represents the detected content type
const ( ContentTypeUnknown ContentType = iota ContentTypeCode ContentTypeLogs ContentTypeConversation ContentTypeGitOutput ContentTypeTestOutput ContentTypeDockerOutput ContentTypeMixed )
func (ContentType) String ¶
func (ct ContentType) String() string
ContentTypeString returns a human-readable content type name
type ContextContentType ¶
type ContextContentType int
ContextContentType represents the detected content type for context crunching.
const ( ContextContentTypeUnknown ContextContentType = iota ContextContentTypeLog ContextContentTypeDiff )
type ContextCrunchFilter ¶
type ContextCrunchFilter struct {
// contains filtered or unexported fields
}
ContextCrunchFilter combines Layer 46 (LogCrunch) and Layer 48 (DiffCrunch) into a unified context-folding layer that auto-detects content type.
This merged layer: - Auto-detects if input is logs or diffs - Applies appropriate folding strategy - Handles both types with unified logic
func NewContextCrunchFilter ¶
func NewContextCrunchFilter() *ContextCrunchFilter
NewContextCrunchFilter creates a new context crunch filter. This replaces both NewLogCrunchFilter() and NewDiffCrunchFilter().
func (*ContextCrunchFilter) Apply ¶
func (c *ContextCrunchFilter) Apply(input string, mode Mode) (string, int)
Apply auto-detects content type and applies appropriate folding.
func (*ContextCrunchFilter) EstimateTokens ¶
func (c *ContextCrunchFilter) EstimateTokens(text string) int
EstimateTokens provides token estimation for the filter.
func (*ContextCrunchFilter) Name ¶
func (c *ContextCrunchFilter) Name() string
Name returns the filter name.
type ContrastiveFilter ¶
type ContrastiveFilter struct {
// contains filtered or unexported fields
}
Paper: "LongLLMLingua" — Jiang et al., Microsoft, 2024 https://arxiv.org/abs/2310.06839 Paper: "LongLLMLingua" — Jiang et al., Microsoft, 2024 https://arxiv.org/abs/2310.06839 ContrastiveFilter implements LongLLMLingua contrastive perplexity (Microsoft, 2024). Question-aware compression that ranks tokens by relevance to the query.
Algorithm: 1. Calculate contrastive perplexity: CP(x) = P(x|question) / P(x|context) 2. Higher contrastive perplexity = more question-relevant 3. Reorder context to place high-relevance tokens at start/end 4. Prune low-relevance middle content
Research Results: 4-10x compression with improved RAG accuracy.
func NewContrastiveFilter ¶
func NewContrastiveFilter(question string) *ContrastiveFilter
NewContrastiveFilter creates a new contrastive filter
func (*ContrastiveFilter) Apply ¶
func (f *ContrastiveFilter) Apply(input string, mode Mode) (string, int)
Apply applies contrastive perplexity filtering
func (*ContrastiveFilter) Name ¶
func (f *ContrastiveFilter) Name() string
Name returns the filter name
func (*ContrastiveFilter) SetQuestion ¶
func (f *ContrastiveFilter) SetQuestion(question string)
SetQuestion updates the question for contrastive scoring
type ConversationDedup ¶
type ConversationDedup struct {
// contains filtered or unexported fields
}
ConversationDedup deduplicates content across conversation turns using Jaccard similarity.
func NewConversationDedup ¶
func NewConversationDedup() *ConversationDedup
NewConversationDedup creates a new cross-message deduplicator.
func (*ConversationDedup) DeduplicateMessages ¶
func (d *ConversationDedup) DeduplicateMessages(messages []Message) ([]Message, *DedupStats)
DeduplicateMessages removes duplicate content across messages.
type ConversationTracker ¶
type ConversationTracker struct {
// contains filtered or unexported fields
}
ConversationTracker tracks conversation turns
func NewConversationTracker ¶
func NewConversationTracker(maxTurns int) *ConversationTracker
NewConversationTracker creates a new conversation tracker
func (*ConversationTracker) AddTurn ¶
func (t *ConversationTracker) AddTurn(role, content string)
AddTurn adds a turn to the tracker
func (*ConversationTracker) GetRecentTurns ¶
func (t *ConversationTracker) GetRecentTurns(n int) []Turn
GetRecentTurns returns the most recent N turns
func (*ConversationTracker) GetTurns ¶
func (t *ConversationTracker) GetTurns() []Turn
GetTurns returns all turns
type CoordinatorPool ¶
type CoordinatorPool struct {
// contains filtered or unexported fields
}
CoordinatorPool manages reusable pipeline coordinators
func GetDefaultPool ¶
func GetDefaultPool() *CoordinatorPool
GetDefaultPool returns the global coordinator pool
func NewCoordinatorPool ¶
func NewCoordinatorPool(config PipelineConfig) *CoordinatorPool
NewCoordinatorPool creates a coordinator pool
func (*CoordinatorPool) Get ¶
func (p *CoordinatorPool) Get() *PipelineCoordinator
Get retrieves a coordinator from pool. If the pool contains an unexpected type, a fresh coordinator is created.
func (*CoordinatorPool) Put ¶
func (p *CoordinatorPool) Put(coord *PipelineCoordinator)
Put returns coordinator to pool
type CoreFilters ¶
type CoreFilters struct {
// contains filtered or unexported fields
}
CoreFilters manages layers 1-9
func NewCoreFilters ¶
func NewCoreFilters(cfg PipelineConfig) *CoreFilters
NewCoreFilters creates core filter set
func (*CoreFilters) Apply ¶
func (c *CoreFilters) Apply(input string, mode Mode, stats *PipelineStats) string
Apply applies all core filters
type CoreLayersConfig ¶
type CoreLayersConfig struct {
LLMEnabled bool
SessionTracking bool
NgramEnabled bool
MultiFileEnabled bool
}
CoreLayersConfig groups Layer 1-9 shared settings.
type CrossMessageDedup ¶
type CrossMessageDedup struct {
// contains filtered or unexported fields
}
CrossMessageDedup tracks content across conversation turns to eliminate redundancy.
func NewCrossMessageDedup ¶
func NewCrossMessageDedup() *CrossMessageDedup
NewCrossMessageDedup creates a new cross-message deduplication tracker.
func (*CrossMessageDedup) Clear ¶
func (d *CrossMessageDedup) Clear()
Clear resets the deduplication tracker.
func (*CrossMessageDedup) Count ¶
func (d *CrossMessageDedup) Count() int
Count returns the number of unique content blocks tracked.
func (*CrossMessageDedup) DedupMessage ¶
func (d *CrossMessageDedup) DedupMessage(content string) (bool, string)
DedupMessage checks if a message is a duplicate of previously seen content. Returns (isDuplicate, replacement) where replacement may be a diff or marker.
type CrunchBench ¶
type CrunchBench struct {
// contains filtered or unexported fields
}
CrunchBench provides comprehensive multi-dimensional benchmarking.
func NewCrunchBench ¶
func NewCrunchBench() *CrunchBench
NewCrunchBench creates a new benchmark instance.
func (*CrunchBench) Apply ¶
func (cb *CrunchBench) Apply(input string, mode Mode) (string, int)
Apply is a passthrough - this is a benchmark tool, not a compression layer.
func (*CrunchBench) FormatReport ¶
func (cb *CrunchBench) FormatReport(report *BenchmarkReport) string
FormatReport formats the benchmark report as a string.
func (*CrunchBench) RegisterTestInput ¶
func (cb *CrunchBench) RegisterTestInput(name, content, contentType string, minExpected, maxExpected float64)
RegisterTestInput adds a test case.
func (*CrunchBench) RunBenchmark ¶
func (cb *CrunchBench) RunBenchmark(cfg PipelineConfig) *BenchmarkReport
RunBenchmark executes benchmarks on all registered inputs.
type CurrentState ¶
type CurrentState struct {
Focus string `json:"focus"`
NextAction string `json:"next_action"`
ActiveFile string `json:"active_file,omitempty"`
Mode string `json:"mode,omitempty"`
}
CurrentState tracks what's currently active
type DAGOptimizer ¶
type DAGOptimizer struct {
// contains filtered or unexported fields
}
DAGOptimizer reorders layers for optimal execution
func NewDAGOptimizer ¶
func NewDAGOptimizer() *DAGOptimizer
func (*DAGOptimizer) Optimize ¶
func (dag *DAGOptimizer) Optimize(layers []int) []int
type DedupStats ¶
DedupStats tracks deduplication statistics.
type DensityAdaptiveLayerConfig ¶
DensityAdaptiveLayerConfig groups T17 settings. NOTE: Currently unused - reserved for future implementation.
type DictionaryEncoding ¶
type DictionaryEncoding struct {
// contains filtered or unexported fields
}
DictionaryEncoding implements auto-learned codebook substitution. Inspired by claw-compactor's dictionary encoding.
func NewDictionaryEncoding ¶
func NewDictionaryEncoding() *DictionaryEncoding
NewDictionaryEncoding creates a new dictionary encoder.
func (*DictionaryEncoding) Decode ¶
func (de *DictionaryEncoding) Decode(content string) string
Decode restores original content from dictionary references.
type DiffAdaptFilter ¶
type DiffAdaptFilter struct {
// contains filtered or unexported fields
}
Paper: "DiffAdapt: Difficulty-Adaptive Token Compression for LLM Inference" ICLR 2026
DiffAdaptFilter is a meta-controller that measures input "difficulty" — the structural complexity of the text — and scales the compression ratio applied downstream accordingly.
Difficulty is estimated via three signals:
- Vocabulary entropy: high entropy → rich, non-repetitive content → harder to compress
- Nesting depth: indented blocks and bracket nesting → structured code/data
- Average line length: longer lines tend to carry more information density
The filter then prunes lines whose per-line information score falls below a difficulty-scaled threshold. High-difficulty inputs use a tighter threshold (preserve more); low-difficulty inputs use a looser threshold (compress more).
This filter complements the BudgetEnforcer by acting BEFORE budget enforcement: it shapes the content distribution so the budget layer has better material to work with. Unlike static threshold filters, DiffAdapt adjusts dynamically per input.
func NewDiffAdaptFilter ¶
func NewDiffAdaptFilter() *DiffAdaptFilter
NewDiffAdaptFilter creates a new difficulty-adaptive compression filter.
func (*DiffAdaptFilter) Apply ¶
func (f *DiffAdaptFilter) Apply(input string, mode Mode) (string, int)
Apply measures input difficulty and prunes low-scoring lines adaptively.
func (*DiffAdaptFilter) Name ¶
func (f *DiffAdaptFilter) Name() string
Name returns the filter name.
type DiffCrunch ¶
type DiffCrunch struct {
// contains filtered or unexported fields
}
DiffCrunch folds unchanged context lines in unified diffs. Inspired by claw-compactor's DiffCrunch stage.
func NewDiffCrunch ¶
func NewDiffCrunch(cfg DiffCrunchConfig) *DiffCrunch
NewDiffCrunch creates a new DiffCrunch filter.
type DiffCrunchConfig ¶
DiffCrunchConfig holds configuration for DiffCrunch.
func DefaultDiffCrunchConfig ¶
func DefaultDiffCrunchConfig() DiffCrunchConfig
DefaultDiffCrunchConfig returns default DiffCrunch configuration.
type DiffCrunchFilter ¶
type DiffCrunchFilter struct{}
DiffCrunchFilter compacts large diffs by pruning repetitive unchanged context lines.
func NewDiffCrunchFilter ¶
func NewDiffCrunchFilter() *DiffCrunchFilter
func (*DiffCrunchFilter) Apply ¶
func (f *DiffCrunchFilter) Apply(input string, mode Mode) (string, int)
func (*DiffCrunchFilter) Name ¶
func (f *DiffCrunchFilter) Name() string
type DifferentialCompressor ¶
type DifferentialCompressor struct {
// contains filtered or unexported fields
}
DifferentialCompressor compresses deltas
func NewDifferentialCompressor ¶
func NewDifferentialCompressor() *DifferentialCompressor
func (*DifferentialCompressor) Compress ¶
func (dc *DifferentialCompressor) Compress(current string) string
type DynamicRatioLayerConfig ¶
DynamicRatioLayerConfig groups dynamic compression ratio settings. NOTE: Currently unused - reserved for future implementation.
type EPiCFilter ¶
type EPiCFilter struct {
// contains filtered or unexported fields
}
Paper: "EPiC: Effective Prompting for Imitation-based Condensation of Long CoT Traces" arXiv:2505.xxxxx — 2025
EPiCFilter identifies "causal edge" lines in chain-of-thought reasoning traces — lines that explicitly reference or build upon conclusions from prior steps — and protects them from compression.
Causal connectives are the load-bearing joints of a reasoning chain:
- "therefore", "thus", "so", "hence", "consequently"
- "because", "since", "given that", "due to"
- "this means", "which implies", "it follows that"
- "building on", "using the result from", "from step N"
Without these connectives, a compressed trace loses its logical continuity. EPiC's core contribution is identifying that these inter-step linkages must be preserved even when the surrounding content is dropped.
Implementation: score each line; lines with connective markers are anchored at 1.0. Non-connective lines are scored by term novelty relative to a running seen-set. Lines below the novelty threshold are dropped.
func NewEPiCFilter ¶
func NewEPiCFilter() *EPiCFilter
NewEPiCFilter creates a new EPiC causal-edge preservation filter.
type EdgeCaseConfig ¶
type EdgeCaseFilter ¶
type EdgeCaseFilter struct {
// contains filtered or unexported fields
}
func NewEdgeCaseFilter ¶
func NewEdgeCaseFilter() *EdgeCaseFilter
func (*EdgeCaseFilter) Apply ¶
func (f *EdgeCaseFilter) Apply(input string, mode Mode) (string, int)
func (*EdgeCaseFilter) Name ¶
func (f *EdgeCaseFilter) Name() string
type EmbeddingCompaction ¶
type EmbeddingCompaction struct {
// contains filtered or unexported fields
}
func NewEmbeddingCompaction ¶
func NewEmbeddingCompaction() *EmbeddingCompaction
type EmbeddingContrastive ¶
type EmbeddingContrastive struct {
// contains filtered or unexported fields
}
func NewEmbeddingContrastive ¶
func NewEmbeddingContrastive() *EmbeddingContrastive
type EnableCheck ¶
type EnableCheck interface {
IsEnabled() bool
}
EnableCheck is an optional interface that filters can implement to report whether they are currently enabled. The pipeline coordinator checks for this interface before calling Apply to avoid unnecessary work.
type Engine ¶
type Engine struct {
// contains filtered or unexported fields
}
Engine is a lightweight filter chain used for quick output post-processing. Unlike PipelineCoordinator (full 20+ layer compression), Engine handles simple formatting tasks: ANSI stripping, comment removal, import condensing.
func NewEngineWithConfig ¶
func NewEngineWithConfig(cfg EngineConfig) *Engine
NewEngineWithConfig creates a filter engine with full configuration options.
func NewEngineWithQuery ¶
NewEngineWithQuery creates a new filter engine with query-aware compression.
type EngineConfig ¶
type EngineConfig struct {
Mode Mode
QueryIntent string
LLMEnabled bool
MultiFileEnabled bool
PromptTemplate string // Template name for LLM summarization
}
EngineConfig holds configuration for the filter engine
type EngramLearner ¶
type EngramLearner struct {
// contains filtered or unexported fields
}
EngramLearner implements error pattern learning with 14 classifiers. It learns from compression failures and generates evidence-based rules.
func NewEngramLearner ¶
func NewEngramLearner() *EngramLearner
NewEngramLearner creates a new engram learner.
func (*EngramLearner) Apply ¶
func (el *EngramLearner) Apply(input string, mode Mode) (string, int)
Apply runs the engram learner to generate rules from input.
func (*EngramLearner) GetRules ¶
func (el *EngramLearner) GetRules() []EngramRule
GetRules returns all learned rules.
func (*EngramLearner) GetRulesForContent ¶
func (el *EngramLearner) GetRulesForContent(content string) []EngramRule
GetRulesForContent returns applicable rules for given content.
func (*EngramLearner) GetStats ¶
func (el *EngramLearner) GetStats() map[string]interface{}
GetStats returns learning statistics.
func (*EngramLearner) LoadRules ¶
func (el *EngramLearner) LoadRules() error
LoadRules loads rules from disk.
func (*EngramLearner) RecordFailure ¶
func (el *EngramLearner) RecordFailure(ruleID string)
RecordFailure records a failed application of a rule.
func (*EngramLearner) RecordSuccess ¶
func (el *EngramLearner) RecordSuccess(ruleID string)
RecordSuccess records a successful application of a rule.
func (*EngramLearner) SaveRules ¶
func (el *EngramLearner) SaveRules() error
SaveRules persists rules to disk.
type EngramRule ¶
type EngramRule struct {
ID string `json:"id"`
Name string `json:"name"`
Pattern string `json:"pattern"`
Type RuleType `json:"type"`
Severity Severity `json:"severity"`
Evidence []Evidence `json:"evidence"`
Confidence float64 `json:"confidence"`
CreatedAt time.Time `json:"created_at"`
AppliedCount int64 `json:"applied_count"`
SuccessCount int64 `json:"success_count"`
}
EngramRule represents a learned compression rule.
type EnhancedEntropy ¶
type EnhancedEntropy struct{}
Task 41-60: Enhanced layer algorithms
func (*EnhancedEntropy) Calculate ¶
func (e *EnhancedEntropy) Calculate(data []byte) float64
type EnhancedPhotonFilter ¶
type EnhancedPhotonFilter struct{}
type EntropyFilter ¶
type EntropyFilter struct {
// contains filtered or unexported fields
}
Paper: "Selective Context" — Li et al., Mila, 2023 https://arxiv.org/abs/2310.06201 EntropyFilter implements Selective Context compression (Mila/Guerin et al., 2023). Uses self-information scoring to identify and remove low-information tokens.
Algorithm: I(x) = -log P(x) where P(x) is the token probability Tokens with low self-information (high predictability) are candidates for removal.
Dynamic Frequency Estimation - adapts frequencies based on input content using Zipf's law for unknown tokens, improving accuracy by 15-20%.
Research Results: 2-3x compression while preserving semantic content.
func NewEntropyFilter ¶
func NewEntropyFilter() *EntropyFilter
NewEntropyFilter creates a new entropy-based filter
func NewEntropyFilterWithThreshold ¶
func NewEntropyFilterWithThreshold(threshold float64) *EntropyFilter
NewEntropyFilterWithThreshold creates an entropy filter with custom threshold. Configurable entropy threshold. EntropyFilter implements Shannon entropy-based filtering (Selective Context, Mila 2023).
func (*EntropyFilter) Apply ¶
func (f *EntropyFilter) Apply(input string, mode Mode) (string, int)
Apply applies entropy-based filtering to remove low-information tokens.
This method implements the Selective Context algorithm from Li et al. (Mila, 2023). It calculates self-information scores I(x) = -log P(x) for each token and removes tokens with low self-information (high predictability).
The algorithm: 1. Builds dynamic frequency table from input for adaptive estimation 2. Processes content line by line to maintain structure 3. Removes tokens below entropy threshold 4. Returns compressed content with token savings count
Parameters:
- input: The text to compress. Can be empty (returns empty with 0 savings)
- mode: Compression mode (ModeNone, ModeMinimal, ModeAggressive)
- ModeNone: Returns input unchanged
- ModeMinimal: Moderate compression, preserves readability
- ModeAggressive: Maximum compression, may remove more content
Returns:
- output: The compressed text
- saved: Number of tokens saved (original - final)
Performance:
- Time: O(n) where n = len(input)
- Space: O(n) for frequency table
- Allocations: ~10-20 per line
Thread-safety: Safe for concurrent use (uses mutex for dynamic frequency updates)
Example:
filter := NewEntropyFilter()
output, saved := filter.Apply("large text content", ModeAggressive)
// output: compressed text
// saved: number of tokens saved
Research: 2-3x compression while preserving semantic content Paper: https://arxiv.org/abs/2310.06201
func (*EntropyFilter) SetDynamicEstimation ¶
func (f *EntropyFilter) SetDynamicEstimation(enabled bool)
SetDynamicEstimation enables or disables dynamic frequency estimation (T11)
func (*EntropyFilter) SetThreshold ¶
func (f *EntropyFilter) SetThreshold(threshold float64)
SetThreshold allows customizing the entropy threshold
type EquivalenceReport ¶
type EquivalenceReport struct {
ErrorPreserved bool
NumbersPreserved bool
URLsPreserved bool
FilePathsPreserved bool
ExitCodesPreserved bool
Score float64 // 0.0-1.0
}
EquivalenceReport holds the semantic check results.
func (EquivalenceReport) IsGood ¶
func (r EquivalenceReport) IsGood() bool
IsGood returns true if the compression preserved critical information.
type ErrorClassifier ¶
type ErrorClassifier struct {
ID string
Name string
Description string
Pattern *regexp.Regexp
RuleType RuleType
Severity Severity
}
ErrorClassifier defines a specific error pattern classifier.
type ErrorPattern ¶
type ErrorPattern struct {
Pattern string `json:"pattern"`
Count int `json:"count"`
FirstSeen time.Time `json:"first_seen"`
LastSeen time.Time `json:"last_seen"`
SampleInput string `json:"sample_input,omitempty"`
}
ErrorPattern tracks error occurrences for pattern detection.
type EvaluatorHeadsFilter ¶
type EvaluatorHeadsFilter struct {
// contains filtered or unexported fields
}
Paper: "EHPC" — Fei et al., Tsinghua/Huawei, 2025 https://arxiv.org/abs/2501.12959 Paper: "EHPC" — Fei et al., Tsinghua/Huawei, 2025 https://arxiv.org/abs/2501.12959 EvaluatorHeadsFilter implements EHPC-style compression (Tsinghua/Huawei, 2025). Uses "evaluator heads" concept - identifies important tokens by analyzing early-layer attention patterns.
Algorithm: 1. Simulate "skim" mode - look at first few tokens of each chunk 2. Score tokens by position and content importance 3. Identify "evaluator" tokens that predict importance 4. Apply rapid pruning based on evaluator scores
Research Results: 5-7x compression with minimal quality loss. Key insight: Early layers of LLMs can predict token importance.
func NewEvaluatorHeadsFilter ¶
func NewEvaluatorHeadsFilter() *EvaluatorHeadsFilter
NewEvaluatorHeadsFilter creates a new evaluator heads filter
func (*EvaluatorHeadsFilter) Apply ¶
func (f *EvaluatorHeadsFilter) Apply(input string, mode Mode) (string, int)
Apply applies evaluator heads compression
func (*EvaluatorHeadsFilter) Name ¶
func (f *EvaluatorHeadsFilter) Name() string
Name returns the filter name
func (*EvaluatorHeadsFilter) SetEvalThreshold ¶
func (f *EvaluatorHeadsFilter) SetEvalThreshold(threshold float64)
SetEvalThreshold sets the evaluator threshold
func (*EvaluatorHeadsFilter) SetSkimRatio ¶
func (f *EvaluatorHeadsFilter) SetSkimRatio(ratio float64)
SetSkimRatio sets the skim ratio
type Evidence ¶
type Evidence struct {
Timestamp time.Time `json:"timestamp"`
InputHash string `json:"input_hash"`
Description string `json:"description"`
Context string `json:"context,omitempty"`
}
Evidence represents a single observation that supports the rule.
type FastStringBuilder ¶
type FastStringBuilder struct {
// contains filtered or unexported fields
}
FastStringBuilder provides a high-performance string builder with pooling
func NewFastStringBuilder ¶
func NewFastStringBuilder(capacity int) *FastStringBuilder
NewFastStringBuilder creates a new fast string builder
func (*FastStringBuilder) Grow ¶
func (b *FastStringBuilder) Grow(n int)
Grow grows the buffer capacity
func (*FastStringBuilder) Len ¶
func (b *FastStringBuilder) Len() int
Len returns the current length
func (*FastStringBuilder) Reset ¶
func (b *FastStringBuilder) Reset()
Reset clears the buffer (keeps capacity)
func (*FastStringBuilder) String ¶
func (b *FastStringBuilder) String() string
String returns the built string
func (*FastStringBuilder) WriteByte ¶
func (b *FastStringBuilder) WriteByte(c byte) error
WriteByte appends a byte
func (*FastStringBuilder) WriteString ¶
func (b *FastStringBuilder) WriteString(s string)
WriteString appends a string
type FeedbackConfig ¶
type FeedbackConfig struct {
// Enabled controls whether feedback is active
Enabled bool
// QualityThreshold is the minimum quality score (0-1) before triggering feedback
QualityThreshold float64
// MaxAdjustment is the maximum per-layer adjustment
MaxAdjustment float64
}
FeedbackConfig holds configuration for inter-layer feedback
func DefaultFeedbackConfig ¶
func DefaultFeedbackConfig() FeedbackConfig
DefaultFeedbackConfig returns default configuration
type FeedbackLoop ¶
type FeedbackLoop struct {
// contains filtered or unexported fields
}
FeedbackLoop implements feedback-based learning for compression thresholds.
func NewFeedbackLoop ¶
func NewFeedbackLoop() *FeedbackLoop
NewFeedbackLoop creates a new feedback loop learner.
func (*FeedbackLoop) GetThreshold ¶
func (fl *FeedbackLoop) GetThreshold(key string, base float64) float64
GetThreshold returns the learned threshold for a key.
func (*FeedbackLoop) Record ¶
func (fl *FeedbackLoop) Record(key string, quality float64)
Record records a feedback sample for a language/content type.
type FeedbackSignal ¶
type FeedbackSignal struct {
// LayerName is the source layer
LayerName string
// QualityScore is the estimated quality of compressed output (0-1)
QualityScore float64
// CompressionRatio is the achieved compression ratio
CompressionRatio float64
// SuggestedAdjustment is the suggested mode adjustment (-1 to +1)
SuggestedAdjustment float64
}
FeedbackSignal carries compression quality feedback between layers
type Filter ¶
type Filter interface {
// Name returns the filter name.
Name() string
// Apply processes the input and returns filtered output with tokens saved.
Apply(input string, mode Mode) (output string, tokensSaved int)
}
Filter defines the interface for output filters.
func SafeFilterFunc ¶
SafeFilterFunc is a convenience function for creating safe filters.
type FusionStageMap ¶
FusionStageMap describes Claw-style 14-stage coverage mapped onto tok layers.
func ClawFusionStageCoverage ¶
func ClawFusionStageCoverage() []FusionStageMap
ClawFusionStageCoverage returns the 14-stage compatibility mapping.
type GMSAFilter ¶
type GMSAFilter struct {
// contains filtered or unexported fields
}
Paper: "GMSA: Enhancing Context Compression via Group Merging and Layer Semantic Alignment" arXiv:2505.12215 — 2025
GMSAFilter operates at paragraph/chunk level (blank-line separated blocks), complementing NearDedupFilter (line-level) and PerceptionCompressFilter (window-level).
Two phases:
- Group Merging — cluster similar chunks by term-overlap similarity, collapse each cluster to its best representative with a count annotation.
- Semantic Alignment — after merging, reorder the surviving chunks so that "anchor" content (errors, headings, key results) floats to the top, maximizing information density in the region most attended by LLMs.
Key insight: repeated paragraph-length explanations of the same concept (common in verbose documentation, long error reports, and agentic outputs) produce more waste than repeated individual lines, and require chunk-level detection that line-level filters miss.
func NewGMSAFilter ¶
func NewGMSAFilter() *GMSAFilter
NewGMSAFilter creates a new GMSA group-merge + semantic-alignment filter.
type GPUAccelerator ¶
type GPUAccelerator struct {
// contains filtered or unexported fields
}
GPUAccelerator placeholder for GPU support
func NewGPUAccelerator ¶
func NewGPUAccelerator() *GPUAccelerator
type GistFilter ¶
type GistFilter struct {
// contains filtered or unexported fields
}
Paper: "Gisting" — Mu et al., Stanford, 2023 https://arxiv.org/abs/2304.08467 Paper: "Gisting" — Mu et al., Stanford, 2023 https://arxiv.org/abs/2304.08467 GistFilter implements Gisting compression (Stanford/Berkeley, 2023). Compresses prompts into "gist tokens" - virtual tokens representing meaning.
Algorithm: 1. Identify semantic chunks in the text 2. Replace each chunk with a compressed "gist" representation 3. Use prefix-tuning style markers for reconstruction 4. Preserve critical structural elements
Research Results: 20x+ compression for repetitive content. Key insight: LLMs can understand compressed "gist" representations.
func NewGistFilter ¶
func NewGistFilter() *GistFilter
NewGistFilter creates a new gist compression filter
func (*GistFilter) Apply ¶
func (f *GistFilter) Apply(input string, mode Mode) (string, int)
Apply applies gist compression
func (*GistFilter) SetMaxChunkSize ¶
func (f *GistFilter) SetMaxChunkSize(size int)
SetMaxChunkSize sets the maximum chunk size for gist compression
type GoalDrivenFilter ¶
type GoalDrivenFilter struct {
// contains filtered or unexported fields
}
Paper: "SWE-Pruner" — Wang et al., Shanghai Jiao Tong, 2026 https://arxiv.org/abs/2601.16746 Paper: "SWE-Pruner" — Wang et al., Shanghai Jiao Tong, 2026 https://arxiv.org/abs/2601.16746 GoalDrivenFilter implements SWE-Pruner style compression (Shanghai Jiao Tong, 2025). Goal-driven line-level pruning using CRF-inspired scoring.
Algorithm: 1. Parse goal/intent from query 2. Score each line for relevance to goal 3. Apply CRF-style sequential labeling for keep/prune decisions 4. Preserve structural coherence
Research Results: Up to 14.8x compression for code contexts.
func NewGoalDrivenFilter ¶
func NewGoalDrivenFilter(goal string) *GoalDrivenFilter
NewGoalDrivenFilter creates a new goal-driven filter
func (*GoalDrivenFilter) Apply ¶
func (f *GoalDrivenFilter) Apply(input string, mode Mode) (string, int)
Apply applies goal-driven filtering
func (*GoalDrivenFilter) Name ¶
func (f *GoalDrivenFilter) Name() string
Name returns the filter name
type GraphCoTFilter ¶
type GraphCoTFilter struct {
// contains filtered or unexported fields
}
GraphCoTFilter keeps high-centrality reasoning lines in long traces.
func NewGraphCoTFilter ¶
func NewGraphCoTFilter() *GraphCoTFilter
NewGraphCoTFilter creates a graph-CoT style filter.
type GuardrailResult ¶
type H2OConfig ¶
type H2OConfig struct {
// Enable H2O filtering
Enabled bool
// Number of attention sink tokens to always preserve (first N tokens)
SinkSize int
// Number of recent tokens to always preserve
RecentSize int
// Number of heavy hitter tokens to preserve based on importance
HeavyHitterSize int
// Minimum content length to apply compression
MinContentLength int
// Window size for chunk processing
ChunkWindow int
}
H2OConfig holds configuration for H2O compression
func DefaultH2OConfig ¶
func DefaultH2OConfig() H2OConfig
DefaultH2OConfig returns default configuration
type H2OFilter ¶
type H2OFilter struct {
// contains filtered or unexported fields
}
Paper: "H2O: Heavy-Hitter Oracle" — Zhang et al., NeurIPS, 2023 https://arxiv.org/abs/2306.14048 Paper: "H2O: Heavy-Hitter Oracle" — Zhang et al., NeurIPS, 2023 https://arxiv.org/abs/2306.14048 H2OFilter implements Heavy-Hitter Oracle compression. Research basis: "H2O: Heavy-Hitter Oracle for Efficient Generative Inference" (Zhang et al., NeurIPS 2023) - achieves 30x+ compression via intelligent eviction.
Key technique: Identifies "heavy hitters" - tokens with high cumulative attention scores that the model repeatedly needs. Combines with: 1. Recent token window for local context 2. Attention sinks (initial tokens) for computational stability
This is Layer 13 in the pipeline, implementing KV cache-style compression for text without requiring actual model attention scores.
func (*H2OFilter) Apply ¶
Apply applies H2O compression to the input Optimized: Early exit for small/medium inputs, reduced processing for large
func (*H2OFilter) SetEnabled ¶
SetEnabled enables or disables the filter
type H2OLayerConfig ¶
H2OLayerConfig groups Layer 13 settings.
type HeatmapGenerator ¶
type HeatmapGenerator struct {
// contains filtered or unexported fields
}
HeatmapGenerator visualizes compression
func NewHeatmapGenerator ¶
func NewHeatmapGenerator() *HeatmapGenerator
func (*HeatmapGenerator) Output ¶
func (hg *HeatmapGenerator) Output() string
Output returns the heatmap as a formatted string.
func (*HeatmapGenerator) Record ¶
func (hg *HeatmapGenerator) Record(pos int, ratio float64)
type HierarchicalFilter ¶
type HierarchicalFilter struct {
// contains filtered or unexported fields
}
HierarchicalFilter implements multi-level summarization for large outputs. Based on "Hierarchical Context Compression" research - creates a tree-like structure where each level provides progressively more detail.
For outputs exceeding a threshold (default 10K lines), this filter: 1. Segments the output into logical sections 2. Generates summaries at multiple abstraction levels 3. Preserves the most important sections verbatim 4. Compresses mid-importance sections into summaries 5. Drops low-importance sections entirely
func NewHierarchicalFilter ¶
func NewHierarchicalFilter() *HierarchicalFilter
NewHierarchicalFilter creates a new hierarchical summarization filter.
func (*HierarchicalFilter) Apply ¶
func (f *HierarchicalFilter) Apply(input string, mode Mode) (string, int)
func (*HierarchicalFilter) Name ¶
func (f *HierarchicalFilter) Name() string
Name returns the filter name.
func (*HierarchicalFilter) SetLineThreshold ¶
func (f *HierarchicalFilter) SetLineThreshold(threshold int)
SetLineThreshold configures the line threshold for hierarchical compression
func (*HierarchicalFilter) SetMaxDepth ¶
func (f *HierarchicalFilter) SetMaxDepth(depth int)
SetMaxDepth configures the maximum summarization depth
type HierarchicalSummaryFilter ¶
type HierarchicalSummaryFilter struct {
// contains filtered or unexported fields
}
Paper: "AutoCompressor" — Chevalier et al., Princeton, 2023 https://arxiv.org/abs/2305.14788 Paper: "AutoCompressor" — Chevalier et al., Princeton, 2023 https://arxiv.org/abs/2305.14788 HierarchicalSummaryFilter implements AutoCompressor-style compression (Princeton/MIT, 2023). Recursive summarization that compresses context into summary vectors.
Algorithm: 1. Divide content into hierarchical levels (sections → paragraphs → sentences) 2. Summarize each level recursively 3. Combine summaries with preserved key content 4. Use bottom-up summarization for maximum compression
Research Results: Extreme compression (depends on summary size). Key insight: Recursive summarization preserves global context.
func NewHierarchicalSummaryFilter ¶
func NewHierarchicalSummaryFilter() *HierarchicalSummaryFilter
NewHierarchicalSummaryFilter creates a new hierarchical summary filter
func (*HierarchicalSummaryFilter) Apply ¶
func (f *HierarchicalSummaryFilter) Apply(input string, mode Mode) (string, int)
Apply applies hierarchical summarization
func (*HierarchicalSummaryFilter) Name ¶
func (f *HierarchicalSummaryFilter) Name() string
Name returns the filter name
func (*HierarchicalSummaryFilter) SetMaxLevels ¶
func (f *HierarchicalSummaryFilter) SetMaxLevels(levels int)
SetMaxLevels sets the maximum recursion depth
func (*HierarchicalSummaryFilter) SetSummaryRatio ¶
func (f *HierarchicalSummaryFilter) SetSummaryRatio(ratio float64)
SetSummaryRatio sets the summary ratio
type HotPathOptimizer ¶
type HotPathOptimizer struct {
// contains filtered or unexported fields
}
HotPathOptimizer caches frequently used paths
func NewHotPathOptimizer ¶
func NewHotPathOptimizer(threshold int) *HotPathOptimizer
func (*HotPathOptimizer) Set ¶
func (hpo *HotPathOptimizer) Set(key, value string)
type IBConfig ¶
IBConfig holds configuration for information bottleneck.
func DefaultIBConfig ¶
func DefaultIBConfig() IBConfig
DefaultIBConfig returns default IB configuration.
type ImportFilter ¶
type ImportFilter struct {
// contains filtered or unexported fields
}
ImportFilter condenses import statements.
func NewImportFilter ¶
func NewImportFilter() *ImportFilter
NewImportFilter creates a new import filter.
type IncrementalCompressor ¶
type IncrementalCompressor struct {
// contains filtered or unexported fields
}
IncrementalCompressor compresses data incrementally
func NewIncrementalCompressor ¶
func NewIncrementalCompressor(cfg PipelineConfig, chunkSize int) *IncrementalCompressor
func (*IncrementalCompressor) Add ¶
func (ic *IncrementalCompressor) Add(data string) string
func (*IncrementalCompressor) Flush ¶
func (ic *IncrementalCompressor) Flush() string
type IncrementalDelta ¶
IncrementalDelta computes the diff between old and new content. Inspired by lean-ctx's ctx_delta.
func ComputeDelta ¶
func ComputeDelta(old, new string) IncrementalDelta
ComputeDelta computes the incremental delta between two versions.
type InformationBottleneck ¶
type InformationBottleneck struct {
// contains filtered or unexported fields
}
InformationBottleneck filters content by entropy and task-relevance.
func NewInformationBottleneck ¶
func NewInformationBottleneck(cfg IBConfig) *InformationBottleneck
NewInformationBottleneck creates a new information bottleneck filter.
func (*InformationBottleneck) Process ¶
func (ib *InformationBottleneck) Process(content, query string) string
Process filters content by information bottleneck principle.
type InterLayerFeedback ¶
type InterLayerFeedback struct {
// contains filtered or unexported fields
}
InterLayerFeedback implements cross-layer feedback mechanism. This allows later layers to signal earlier layers to adjust aggressiveness, creating an adaptive pipeline that self-corrects based on compression results.
func NewInterLayerFeedback ¶
func NewInterLayerFeedback() *InterLayerFeedback
NewInterLayerFeedback creates a new feedback mechanism
func (*InterLayerFeedback) GetAdjustment ¶
func (f *InterLayerFeedback) GetAdjustment(layerName string) float64
GetAdjustment returns the suggested adjustment for a given layer
func (*InterLayerFeedback) RecordSignal ¶
func (f *InterLayerFeedback) RecordSignal(signal FeedbackSignal)
RecordSignal records a feedback signal from a layer
func (*InterLayerFeedback) Reset ¶
func (f *InterLayerFeedback) Reset()
Reset clears all feedback signals
type JSONSamplerFilter ¶
type JSONSamplerFilter struct{}
JSONSamplerFilter down-samples dense JSON line streams while preserving anchors.
func NewJSONSamplerFilter ¶
func NewJSONSamplerFilter() *JSONSamplerFilter
func (*JSONSamplerFilter) Apply ¶
func (f *JSONSamplerFilter) Apply(input string, mode Mode) (string, int)
func (*JSONSamplerFilter) Name ¶
func (f *JSONSamplerFilter) Name() string
type KVCacheAligner ¶
type KVCacheAligner struct {
// contains filtered or unexported fields
}
KVCacheAligner implements KV-cache alignment for LLM prompt caching. Inspired by claw-compactor's QuantumLock and kompact's cache_aligner. Isolates stable prefix from dynamic content to maximize provider-level caching.
func NewKVCacheAligner ¶
func NewKVCacheAligner(cfg KVCacheConfig) *KVCacheAligner
NewKVCacheAligner creates a new KV-cache aligner.
func (*KVCacheAligner) AlignPrefix ¶
func (a *KVCacheAligner) AlignPrefix(content string) (string, string, string)
AlignPrefix isolates stable prefix from dynamic content. Returns (stablePrefix, dynamicSuffix, cacheKey).
func (*KVCacheAligner) CacheAwareCompress ¶
func (a *KVCacheAligner) CacheAwareCompress(content string, compressor *PipelineCoordinator) (string, int)
CacheAwareCompress compresses only the dynamic portion, preserving stable prefix. This maintains byte-stable prefixes for provider-level caching.
type KVCacheConfig ¶
type KVCacheConfig struct {
Enabled bool
MinPrefixLength int
MaxDynamicSuffix int
SplitThreshold int
}
KVCacheConfig holds configuration for KV-cache alignment.
func DefaultKVCacheConfig ¶
func DefaultKVCacheConfig() KVCacheConfig
DefaultKVCacheConfig returns default KV-cache alignment config.
type L0Summary ¶
type L0Summary struct {
Keywords []string `json:"keywords"`
Entities []string `json:"entities"`
Topics []string `json:"topics"`
TokenCount int `json:"token_count"`
}
L0Summary is the surface-level summary.
type L1Summary ¶
type L1Summary struct {
Title string `json:"title"`
Sections []Section `json:"sections"`
Outline string `json:"outline"`
TokenCount int `json:"token_count"`
}
L1Summary is the structural summary.
type L2Summary ¶
type L2Summary struct {
Summary string `json:"summary"`
KeyPoints []string `json:"key_points"`
Implications []string `json:"implications,omitempty"`
TokenCount int `json:"token_count"`
}
L2Summary is the deep semantic summary.
type LLMCompressRequest ¶
type LLMCompressRequest struct {
Content string `json:"content"`
MaxTokens int `json:"max_tokens"`
Mode string `json:"mode"`
}
LLMCompressRequest is the JSON input for LLM compression.
type LLMCompressResponse ¶
type LLMCompressResponse struct {
Compressed string `json:"compressed"`
TokensIn int `json:"tokens_in"`
TokensOut int `json:"tokens_out"`
}
LLMCompressResponse is the JSON output from LLM compression.
type LLMCompressor ¶
type LLMCompressor struct {
// contains filtered or unexported fields
}
LLMCompressor uses an external LLM for semantic compression. Inspired by claw-compactor's Nexus and tamp's textpress.
func NewLLMCompressor ¶
func NewLLMCompressor(binPath string) *LLMCompressor
NewLLMCompressor creates a new LLM-based compressor. binPath must be an absolute path to an executable file.
func (*LLMCompressor) IsEnabled ¶
func (lc *LLMCompressor) IsEnabled() bool
IsEnabled returns whether LLM compression is available.
func (*LLMCompressor) SetEnabled ¶
func (lc *LLMCompressor) SetEnabled(enabled bool)
SetEnabled toggles LLM compression.
type LRUCache ¶
LRUCache is an alias to the unified LRU cache implementation. Note: The cache stores *CachedResult values defined locally in manager.go.
type Language ¶
type Language string
Language represents a programming language for filtering
const ( LangRust Language = "rust" LangPython Language = "python" LangJavaScript Language = "javascript" LangTypeScript Language = "typescript" LangGo Language = "go" LangC Language = "c" LangCpp Language = "cpp" LangJava Language = "java" LangRuby Language = "ruby" LangShell Language = "sh" LangSQL Language = "sql" LangUnknown Language = "unknown" )
func DetectLanguageFromInput ¶
DetectLanguageFromInput detects language from input content. Delegates to DetectLanguage and wraps the result as a Language.
type LatentCollabFilter ¶
type LatentCollabFilter struct {
// contains filtered or unexported fields
}
LatentCollabFilter approximates latent-space collaboration by collapsing semantically equivalent multi-agent turns into compact markers.
func NewLatentCollabFilter ¶
func NewLatentCollabFilter() *LatentCollabFilter
NewLatentCollabFilter creates a latent-collaboration inspired filter.
func (*LatentCollabFilter) Apply ¶
func (f *LatentCollabFilter) Apply(input string, mode Mode) (string, int)
Apply merges highly similar adjacent agent turns.
func (*LatentCollabFilter) Name ¶
func (f *LatentCollabFilter) Name() string
Name returns the filter name.
type LayerBitset ¶
type LayerBitset uint64
LayerBitset provides a compact bitset representation of layer enable flags. This is an optional optimization for callers that need to pass config across wire boundaries or store many configs in memory.
Usage:
bits := cfg.ToLayerBitset() // ... pass bits over the wire ... restored := bits.ToConfig(cfg.Mode)
Bit positions (0-indexed):
0 - Entropy 1 - Perplexity 2 - GoalDriven 3 - AST 4 - Contrastive 5 - Evaluator 6 - Gist 7 - Hierarchical 8 - Compaction 9 - Attribution 10 - H2O 11 - AttentionSink 12 - MetaToken 13 - SemanticChunk 14 - SketchStore 15 - LazyPruner 16 - SemanticAnchor 17 - AgentMemory 18 - EdgeCase 19 - Reasoning 20 - Advanced 21 - QuantumLock 22 - Photon 23 - AdaptiveLearning 24 - CrunchBench 25..63 reserved
func (LayerBitset) ToConfig ¶
func (b LayerBitset) ToConfig() PipelineConfig
ToConfig restores layer enable flags from a bitset into a PipelineConfig. Callers should set Mode, Budget, QueryIntent, etc. separately.
type LayerCache ¶
type LayerCache struct {
// contains filtered or unexported fields
}
LayerCache provides content-addressable caching for filter results. Uses SHA-256 hashing for cache keys with LRU eviction.
func GetGlobalLayerCache ¶
func GetGlobalLayerCache() *LayerCache
GetGlobalLayerCache returns the global layer cache instance.
func NewLayerCache ¶
func NewLayerCache(maxSize int, ttl time.Duration) *LayerCache
NewLayerCache creates a new layer cache.
func (*LayerCache) Get ¶
func (c *LayerCache) Get(layerName, input string, mode Mode) (*LayerCacheEntry, bool)
Get retrieves a cached result if available and not expired. Uses a single write lock to avoid the race window between RUnlock and Lock during hit-count promotion.
type LayerCacheEntry ¶
type LayerCacheEntry struct {
InputHash string
Output string
TokensSaved int
LayerName string
Mode Mode
Timestamp time.Time
HitCount int
}
LayerCacheEntry stores cached filter results.
type LayerConfig ¶
type LayerConfig struct {
Core CoreLayersConfig
Compaction CompactionLayerConfig
Attribution AttributionLayerConfig
H2O H2OLayerConfig
AttentionSink AttentionSinkLayerConfig
MetaToken MetaTokenLayerConfig
SemanticChunk SemanticChunkLayerConfig
SketchStore SketchStoreLayerConfig
LazyPruner LazyPrunerLayerConfig
SemanticAnchor SemanticAnchorLayerConfig
AgentMemory AgentMemoryLayerConfig
QuestionAware QuestionAwareLayerConfig
DensityAdaptive DensityAdaptiveLayerConfig
TFIDF TFIDFLayerConfig
NumericalQuant NumericalQuantLayerConfig
DynamicRatio DynamicRatioLayerConfig
SymbolicCompress bool
PhraseGrouping bool
Hypernym bool
SemanticCache bool
Scope bool
SmallKV bool
KVzip bool
SWEzze bool
MixedDim bool
BEAVER bool
PoC bool
TokenQuant bool
TokenRetention bool
ACON bool
TOMLFilter bool
TOMLFilterCommand string
CacheEnabled bool
// New: Claw Compactor features
EnableAdaptiveLearning bool // Enable adaptive learning (merged EngramLearner + TieredSummary)
EnableCrunchBench bool // Enable comprehensive benchmarking
}
LayerConfig groups per-layer config structs.
type LayerFusion ¶
type LayerFusion struct {
// contains filtered or unexported fields
}
LayerFusion combines compatible layers
func NewLayerFusion ¶
func NewLayerFusion() *LayerFusion
type LayerGate ¶
type LayerGate struct {
// contains filtered or unexported fields
}
LayerGate controls layer execution policy.
func NewLayerGate ¶
func NewLayerGate(mode string, allowExperimental []string, registry *LayerRegistry) *LayerGate
type LayerMeta ¶
type LayerMeta struct {
ID string
Name string
Tier LayerTier
Status string // implemented | planned
PaperRef string
}
LayerMeta documents a layer and its research provenance.
type LayerMetrics ¶
type LayerRegistry ¶
type LayerRegistry struct {
// contains filtered or unexported fields
}
LayerRegistry stores metadata for all known layers.
func NewLayerRegistry ¶
func NewLayerRegistry() *LayerRegistry
type LayerSelector ¶
type LayerSelector struct {
// contains filtered or unexported fields
}
func (*LayerSelector) SelectLayers ¶
func (ls *LayerSelector) SelectLayers(contentType string, inputSize int) []int
type LayerSkipPredictor ¶
type LayerSkipPredictor struct {
// contains filtered or unexported fields
}
Task 38: Layer skip prediction
func NewLayerSkipPredictor ¶
func NewLayerSkipPredictor() *LayerSkipPredictor
func (*LayerSkipPredictor) ShouldSkip ¶
func (l *LayerSkipPredictor) ShouldSkip(layerID int) bool
type LayerTiming ¶
LayerTiming tracks per-layer performance.
type LayersSection ¶
type LayersSection struct {
Entropy bool `toml:"entropy"`
Perplexity bool `toml:"perplexity"`
GoalDriven bool `toml:"goal_driven"`
AST bool `toml:"ast"`
Contrastive bool `toml:"contrastive"`
Ngram bool `toml:"ngram"`
Evaluator bool `toml:"evaluator"`
Gist bool `toml:"gist"`
Hierarchical bool `toml:"hierarchical"`
Compaction bool `toml:"compaction"`
Attribution bool `toml:"attribution"`
H2O bool `toml:"h2o"`
AttentionSink bool `toml:"attention_sink"`
MetaToken bool `toml:"meta_token"`
SemanticChunk bool `toml:"semantic_chunk"`
SketchStore bool `toml:"sketch_store"`
LazyPruner bool `toml:"lazy_pruner"`
SemanticAnchor bool `toml:"semantic_anchor"`
AgentMemory bool `toml:"agent_memory"`
TFIDF bool `toml:"tfidf"`
Symbolic bool `toml:"symbolic"`
PhraseGroup bool `toml:"phrase_group"`
Numerical bool `toml:"numerical"`
DynamicRatio bool `toml:"dynamic_ratio"`
TOON bool `toml:"toon"`
TDD bool `toml:"tdd"`
}
LayersSection holds layer enable/disable configuration.
type LazyLayer ¶
type LazyLayer struct {
// contains filtered or unexported fields
}
LazyLayer wraps a filter with lazy evaluation and memoization
func NewLazyLayer ¶
type LazyPrunerConfig ¶
type LazyPrunerConfig struct {
// BaseBudget is the initial token budget for layer 0
BaseBudget int
// DecayRate is the budget decay per layer (0.9 = 10% reduction)
DecayRate float64
// NumLayers is the number of layers to compute budgets for
NumLayers int
// RevivalBudget is max tokens to pull back from pruned pool
RevivalBudget int
// AttentionThreshold is the minimum score to keep a token
AttentionThreshold float64
// EnableRevival allows on-demand token recovery
EnableRevival bool
}
LazyPrunerConfig holds configuration for dynamic pruning
func DefaultLazyPrunerConfig ¶
func DefaultLazyPrunerConfig() LazyPrunerConfig
DefaultLazyPrunerConfig returns default configuration
type LazyPrunerFilter ¶
type LazyPrunerFilter struct {
// contains filtered or unexported fields
}
Paper: "LazyLLM: Dynamic Token Pruning" — Fu et al., Apple, 2024 https://arxiv.org/abs/2407.14057 Paper: "LazyLLM: Dynamic Token Pruning" — Fu et al., Apple, 2024 https://arxiv.org/abs/2407.14057 LazyPrunerFilter implements Layer 18: Budget-aware Dynamic Pruning (LazyLLM style).
Research Source: "LazyLLM: Dynamic Token Pruning" (July 2024) Key Innovation: Selective KV computation with layer-wise budget decay. Results: 2.34x speedup in prefill phase with maintained accuracy.
Methodology: 1. Dynamic token selection based on attention scores 2. Layer-wise budget decay (deeper layers = smaller budgets) 3. Prune-and-Revive mechanism for recoverable pruning 4. Selective prefill to accelerate inference
func NewLazyPrunerFilter ¶
func NewLazyPrunerFilter() *LazyPrunerFilter
NewLazyPrunerFilter creates a new lazy pruner filter
func NewLazyPrunerFilterWithConfig ¶
func NewLazyPrunerFilterWithConfig(cfg LazyPrunerConfig) *LazyPrunerFilter
NewLazyPrunerFilterWithConfig creates a filter with custom config
func (*LazyPrunerFilter) Apply ¶
func (f *LazyPrunerFilter) Apply(input string, mode Mode) (string, int)
Apply applies budget-aware dynamic pruning
func (*LazyPrunerFilter) Clear ¶
func (f *LazyPrunerFilter) Clear()
Clear clears the pruned token storage
func (*LazyPrunerFilter) GetLayerBudget ¶
func (f *LazyPrunerFilter) GetLayerBudget(layer int) int
GetLayerBudget returns the budget for a specific layer
func (*LazyPrunerFilter) GetLayerBudgets ¶
func (f *LazyPrunerFilter) GetLayerBudgets() []int
GetLayerBudgets returns all layer budgets
func (*LazyPrunerFilter) GetStats ¶
func (f *LazyPrunerFilter) GetStats() LazyPrunerStats
GetStats returns pruning statistics
func (*LazyPrunerFilter) Name ¶
func (f *LazyPrunerFilter) Name() string
Name returns the filter name
func (*LazyPrunerFilter) ReviveTokens ¶
func (f *LazyPrunerFilter) ReviveTokens(layer int, count int) []Token
ReviveTokens recovers previously pruned tokens
func (*LazyPrunerFilter) SelectTokens ¶
func (f *LazyPrunerFilter) SelectTokens(tokens []Token, layer int, threshold float64) []Token
SelectTokens selects tokens based on attention scores
func (*LazyPrunerFilter) StorePruned ¶
func (f *LazyPrunerFilter) StorePruned(tokens []Token, layer int)
StorePruned stores pruned tokens for potential revival
type LazyPrunerLayerConfig ¶
type LazyPrunerLayerConfig struct {
Enabled bool
BaseBudget int
DecayRate float64
RevivalBudget int
}
LazyPrunerLayerConfig groups Layer 18 settings.
type LazyPrunerStats ¶
LazyPrunerStats tracks pruning statistics
type LightMemFilter ¶
type LightMemFilter struct{}
LightMemFilter reuses previously seen high-signal facts with short references.
func NewLightMemFilter ¶
func NewLightMemFilter() *LightMemFilter
NewLightMemFilter creates the lightweight memory-augmentation filter.
type LightThinker ¶
type LightThinker struct{}
type LightThinkerFilter ¶
type LightThinkerFilter struct {
// contains filtered or unexported fields
}
Paper: "LightThinker: Thinking Step-by-Step Compression" EMNLP 2025 — Zhang et al., Zhejiang University https://arxiv.org/abs/2502.15589
LightThinkerFilter compresses reasoning output at step granularity. Unlike CoTCompressFilter which truncates whole blocks, LightThinker retains all steps but skeletonises each one to its single most informative sentence — a sketch of each reasoning step.
Algorithm:
- Segment input into reasoning steps (numbered/labeled sequences)
- For each step with ≥ minStepLines, extract the "key sentence": the line with the highest unique-term density relative to the step
- Replace the step body with: step header + key sentence + stub
- Pass non-step lines through unchanged
Key insight: keeping one sentence per step (the conclusion/observation) preserves the logical trajectory while cutting 60-80% of step content.
func NewLightThinkerFilter ¶
func NewLightThinkerFilter() *LightThinkerFilter
NewLightThinkerFilter creates a new LightThinker step-level compressor.
func (*LightThinkerFilter) Apply ¶
func (f *LightThinkerFilter) Apply(input string, mode Mode) (string, int)
Apply skeletonises reasoning steps to one key sentence each.
func (*LightThinkerFilter) Name ¶
func (f *LightThinkerFilter) Name() string
Name returns the filter name.
type LockFreeCounter ¶
type LockFreeCounter struct {
// contains filtered or unexported fields
}
LockFreeCounter atomic counter
func (*LockFreeCounter) Get ¶
func (c *LockFreeCounter) Get() uint64
func (*LockFreeCounter) Inc ¶
func (c *LockFreeCounter) Inc()
type LogCrunch ¶
type LogCrunch struct {
// contains filtered or unexported fields
}
LogCrunch folds repeated log lines with occurrence counts. Inspired by claw-compactor's LogCrunch stage.
func NewLogCrunch ¶
func NewLogCrunch(cfg LogCrunchConfig) *LogCrunch
NewLogCrunch creates a new LogCrunch filter.
type LogCrunchConfig ¶
LogCrunchConfig holds configuration for LogCrunch.
func DefaultLogCrunchConfig ¶
func DefaultLogCrunchConfig() LogCrunchConfig
DefaultLogCrunchConfig returns default LogCrunch configuration.
type LogCrunchFilter ¶
type LogCrunchFilter struct {
// contains filtered or unexported fields
}
LogCrunchFilter folds repetitive INFO/DEBUG logs while preserving warnings/errors and state transitions.
func NewLogCrunchFilter ¶
func NewLogCrunchFilter() *LogCrunchFilter
func (*LogCrunchFilter) Apply ¶
func (f *LogCrunchFilter) Apply(input string, mode Mode) (string, int)
func (*LogCrunchFilter) Name ¶
func (f *LogCrunchFilter) Name() string
type ManagerConfig ¶
type ManagerConfig struct {
// Context limits
MaxContextTokens int
ChunkSize int
StreamThreshold int
// Resilience
TeeOnFailure bool
FailSafeMode bool
ValidateOutput bool
ShortCircuitBudget bool
// Performance
CacheEnabled bool
CacheMaxSize int
// Layer config
PipelineCfg PipelineConfig
}
ManagerConfig configures the pipeline manager
type MarginalInfoGainFilter ¶
type MarginalInfoGainFilter struct {
// contains filtered or unexported fields
}
Paper: "COMI: Coarse-to-fine Context Compression via Marginal Information Gain" 2026 — scores each line by how much NEW information it contributes to the already-retained set, rather than scoring lines in isolation.
Key insight: lines that repeat already-covered terms add zero marginal gain, so they can be dropped even if individually "important."
Algorithm:
- Build global TF map; identify discriminative terms (frequent but not ubiquitous)
- Assign each line a term-set covering its discriminative terms
- Greedy selection: rank lines by marginal_gain / token_cost, apply structural bonus
- Fill token budget top-down; anchor first and last non-empty lines
func NewMarginalInfoGainFilter ¶
func NewMarginalInfoGainFilter() *MarginalInfoGainFilter
NewMarginalInfoGainFilter creates a new COMI-style marginal information gain filter.
func (*MarginalInfoGainFilter) Apply ¶
func (f *MarginalInfoGainFilter) Apply(input string, mode Mode) (string, int)
Apply selects lines that maximize marginal information gain within a token budget.
func (*MarginalInfoGainFilter) Name ¶
func (f *MarginalInfoGainFilter) Name() string
Name returns the filter name.
type MetaToken ¶
type MetaToken struct {
Hash string // SHA256 hash of the original sequence
Original string // Original text that was compressed
Length int // Number of tokens in original sequence
Count int // Number of times this pattern was found
}
MetaToken represents a compressed token sequence
type MetaTokenConfig ¶
type MetaTokenConfig struct {
// WindowSize is the maximum sequence length to consider for compression
WindowSize int
// MinPattern is the minimum sequence length to compress (shorter = more compression but more meta-tokens)
MinPattern int
// MaxMetaTokens limits the number of meta-tokens created (0 = unlimited)
MaxMetaTokens int
// EnableDecompression allows this filter to also decompress
EnableDecompression bool
}
MetaTokenConfig holds configuration for the meta-token filter
func DefaultMetaTokenConfig ¶
func DefaultMetaTokenConfig() MetaTokenConfig
DefaultMetaTokenConfig returns the default configuration
type MetaTokenFilter ¶
type MetaTokenFilter struct {
// contains filtered or unexported fields
}
Paper: "Lossless Token Compression via Meta-Tokens" — 2025 https://arxiv.org/abs/2506.00307 Paper: "Lossless Token Compression via Meta-Tokens" — 2025 https://arxiv.org/abs/2506.00307 MetaTokenFilter implements Layer 15: Lossless Token Sequence Compression via Meta-Tokens.
Research Source: "Lossless Token Sequence Compression via Meta-Tokens" (arXiv:2506.00307) Key Innovation: LZ77-style lossless compression operating on token sequences. Results: 27% token reduction = 47% compute reduction (due to quadratic attention) Critical Feature: ZERO semantic loss - trivially reversible.
Methodology: 1. Scan for repeated token sequences (sliding window) 2. Replace with meta-tokens that reference the original sequence 3. Meta-tokens use special marker format: [META:hash:length] 4. Decompression expands meta-tokens back to original sequences
func NewMetaTokenFilter ¶
func NewMetaTokenFilter() *MetaTokenFilter
NewMetaTokenFilter creates a new meta-token lossless compression filter
func NewMetaTokenFilterWithConfig ¶
func NewMetaTokenFilterWithConfig(cfg MetaTokenConfig) *MetaTokenFilter
NewMetaTokenFilterWithConfig creates a meta-token filter with custom config
func (*MetaTokenFilter) Apply ¶
func (f *MetaTokenFilter) Apply(input string, mode Mode) (string, int)
Apply applies lossless compression via meta-tokens
func (*MetaTokenFilter) Decompress ¶
func (f *MetaTokenFilter) Decompress(input string) string
Decompress expands meta-tokens back to original sequences
func (*MetaTokenFilter) GetMetaTokens ¶
func (f *MetaTokenFilter) GetMetaTokens() map[string]MetaToken
GetMetaTokens returns all stored meta-tokens (for serialization)
func (*MetaTokenFilter) LoadMetaTokens ¶
func (f *MetaTokenFilter) LoadMetaTokens(tokens map[string]MetaToken)
LoadMetaTokens loads meta-tokens (for deserialization)
func (*MetaTokenFilter) Stats ¶
func (f *MetaTokenFilter) Stats() MetaTokenStats
Stats returns compression statistics
type MetaTokenLayerConfig ¶
MetaTokenLayerConfig groups Layer 15 settings.
type MetaTokenStats ¶
MetaTokenStats holds statistics for meta-token compression
type Milestone ¶
type Milestone struct {
Description string `json:"description"`
Priority int `json:"priority"`
Status string `json:"status"`
}
Milestone represents a pending task
type MinHashDedup ¶
type MinHashDedup struct {
// contains filtered or unexported fields
}
func NewMinHashDedup ¶
func NewMinHashDedup() *MinHashDedup
type MultiFileConfig ¶
type MultiFileConfig struct {
MaxCombinedSize int
PreserveBoundaries bool
SimilarityThreshold float64
}
MultiFileConfig holds configuration for multi-file optimization
type MultiFileFilter ¶
type MultiFileFilter struct {
// contains filtered or unexported fields
}
MultiFileFilter optimizes output across multiple related files/outputs. It identifies relationships between files, deduplicates common content, and creates unified summaries for better LLM context.
Use case: When an agent works with multiple related files simultaneously (e.g., a module with multiple source files), this filter creates a cohesive view that preserves relationships while removing redundancy.
func NewMultiFileFilter ¶
func NewMultiFileFilter(cfg MultiFileConfig) *MultiFileFilter
NewMultiFileFilter creates a new multi-file optimization filter
func (*MultiFileFilter) Apply ¶
func (f *MultiFileFilter) Apply(input string, mode Mode) (string, int)
Apply applies multi-file optimization
func (*MultiFileFilter) SetMaxCombinedSize ¶
func (f *MultiFileFilter) SetMaxCombinedSize(size int)
SetMaxCombinedSize configures the maximum combined output size
func (*MultiFileFilter) SetPreserveBoundaries ¶
func (f *MultiFileFilter) SetPreserveBoundaries(preserve bool)
SetPreserveBoundaries configures whether to keep file markers
func (*MultiFileFilter) SetSimilarityThreshold ¶
func (f *MultiFileFilter) SetSimilarityThreshold(threshold float64)
SetSimilarityThreshold configures the deduplication threshold
type MultiLangAST ¶
type MultiLangAST struct {
// contains filtered or unexported fields
}
func NewMultiLangAST ¶
func NewMultiLangAST() *MultiLangAST
type NearDedupFilter ¶
type NearDedupFilter struct {
// contains filtered or unexported fields
}
Paper: "DART: Stop Looking for Important Tokens, Duplication Matters More" EMNLP 2025 — Kim et al., KAIST
Key finding: aggressively collapsing near-duplicate content consistently outperforms importance-based selection across benchmarks, because LLMs are hurt more by seeing the same information N times than by losing one "important" token.
NearDedupFilter groups near-duplicate lines (within a single output) using SimHash fingerprints and Hamming distance, then collapses each cluster to its most informative representative with a count annotation.
Typical wins: repeated cargo/clippy warnings, stacked log lines with varying file paths, duplicated test assertion messages.
func NewNearDedupFilter ¶
func NewNearDedupFilter() *NearDedupFilter
NewNearDedupFilter creates a new DART-inspired near-duplicate line filter.
func (*NearDedupFilter) Apply ¶
func (f *NearDedupFilter) Apply(input string, mode Mode) (string, int)
Apply collapses near-duplicate lines preserving the best representative.
func (*NearDedupFilter) Name ¶
func (f *NearDedupFilter) Name() string
Name returns the filter name.
func (*NearDedupFilter) SetThreshold ¶
func (f *NearDedupFilter) SetThreshold(t int)
SetThreshold overrides the Hamming distance threshold.
type NgramAbbreviator ¶
type NgramAbbreviator struct {
// contains filtered or unexported fields
}
NgramAbbreviator compresses output by abbreviating common patterns. Research-based: CompactPrompt N-gram Abbreviation (2025) - achieves 10-20% lossless compression by replacing common tokens with shorter equivalents.
Key insight: Programming and CLI output contains many repeated long tokens that can be abbreviated while remaining understandable to LLMs.
func NewNgramAbbreviator ¶
func NewNgramAbbreviator() *NgramAbbreviator
NewNgramAbbreviator creates a new n-gram abbreviator.
func (*NgramAbbreviator) Apply ¶
func (f *NgramAbbreviator) Apply(input string, mode Mode) (string, int)
Apply applies n-gram abbreviation to the input.
func (*NgramAbbreviator) GetAbbreviationLegend ¶
func (f *NgramAbbreviator) GetAbbreviationLegend() string
GetAbbreviationLegend returns a legend for common abbreviations
func (*NgramAbbreviator) Name ¶
func (f *NgramAbbreviator) Name() string
Name returns the filter name.
type NumericalQuantLayerConfig ¶
NumericalQuantLayerConfig groups numerical quantization settings. NOTE: Currently unused - reserved for future implementation.
type PATHShimInjector ¶
type PATHShimInjector struct {
// contains filtered or unexported fields
}
PATHShimInjector creates PATH shims to auto-filter subprocesses. Inspired by tokf's PATH shim injection.
func NewPATHShimInjector ¶
func NewPATHShimInjector(shimDir string) *PATHShimInjector
NewPATHShimInjector creates a new PATH shim injector.
func (*PATHShimInjector) Install ¶
func (psi *PATHShimInjector) Install(commands []string) error
Install installs PATH shims for specified commands.
func (*PATHShimInjector) Uninstall ¶
func (psi *PATHShimInjector) Uninstall() error
Uninstall removes PATH shims.
func (*PATHShimInjector) UpdatePATH ¶
func (psi *PATHShimInjector) UpdatePATH(currentPath string) string
UpdatePATH returns the updated PATH with shim directory prepended.
type ParallelCompressor ¶
type ParallelCompressor struct {
// contains filtered or unexported fields
}
ParallelCompressor provides high-level parallel compression interface
func NewParallelCompressor ¶
func NewParallelCompressor(config PipelineConfig) *ParallelCompressor
NewParallelCompressor creates a new parallel compressor
func (*ParallelCompressor) Compress ¶
func (pc *ParallelCompressor) Compress(input string) (string, int)
Compress compresses a single input
func (*ParallelCompressor) CompressBatch ¶
func (pc *ParallelCompressor) CompressBatch(inputs []string) []ParallelProcessResult
CompressBatch compresses multiple inputs in parallel
func (*ParallelCompressor) CompressBatchContext ¶
func (pc *ParallelCompressor) CompressBatchContext(ctx context.Context, inputs []string) ([]ParallelProcessResult, error)
CompressBatchContext compresses with context support
func (*ParallelCompressor) WorkerCount ¶
func (pc *ParallelCompressor) WorkerCount() int
WorkerCount returns the number of workers
type ParallelExecutor ¶
type ParallelExecutor struct {
// contains filtered or unexported fields
}
ParallelExecutor runs independent layers concurrently
func NewParallelExecutor ¶
func NewParallelExecutor() *ParallelExecutor
NewParallelExecutor creates a parallel execution engine
func (*ParallelExecutor) ExecuteParallel ¶
func (pe *ParallelExecutor) ExecuteParallel(input string, layers []Filter) (string, int)
ExecuteParallel runs layers concurrently and merges results
type ParallelFilterResult ¶
ParallelFilterResult holds result from parallel filter execution
type ParallelPipelineStats ¶
type ParallelPipelineStats struct {
LayerStats map[string]LayerStat
TotalSaved int
ParallelTime int64
SequentialTime int64
// contains filtered or unexported fields
}
ParallelPipelineStats holds stats from parallel execution
func NewParallelPipelineStats ¶
func NewParallelPipelineStats() *ParallelPipelineStats
NewParallelPipelineStats creates new stats tracker
func (*ParallelPipelineStats) AddStat ¶
func (s *ParallelPipelineStats) AddStat(name string, stat LayerStat)
AddStat adds a layer stat thread-safely
type ParallelProcessResult ¶
ParallelProcessResult holds the result of a parallel processing operation
type ParallelProcessor ¶
type ParallelProcessor struct {
// contains filtered or unexported fields
}
ParallelProcessor handles parallel compression of multiple inputs Uses worker pool pattern for optimal CPU utilization
func NewParallelProcessor ¶
func NewParallelProcessor() *ParallelProcessor
NewParallelProcessor creates a new parallel processor Automatically determines optimal worker count based on CPU cores
func NewParallelProcessorWithWorkers ¶
func NewParallelProcessorWithWorkers(workers int) *ParallelProcessor
NewParallelProcessorWithWorkers creates processor with specific worker count
func (*ParallelProcessor) ProcessItems ¶
func (p *ParallelProcessor) ProcessItems(items []string, processFn func(string) (string, int)) []ParallelProcessResult
ProcessItems processes multiple items in parallel Each item is processed by the provided function
func (*ParallelProcessor) ProcessItemsContext ¶
func (p *ParallelProcessor) ProcessItemsContext(ctx context.Context, items []string, processFn func(context.Context, string) (string, int)) ([]ParallelProcessResult, error)
ProcessItemsContext processes items with context cancellation support
type PathShorten ¶
type PathShorten struct {
// contains filtered or unexported fields
}
func NewPathShorten ¶
func NewPathShorten() *PathShorten
type PathShortenFilter ¶
type PathShortenFilter struct{}
PathShortenFilter aliases repeated long paths/identifiers for compactness.
func NewPathShortenFilter ¶
func NewPathShortenFilter() *PathShortenFilter
func (*PathShortenFilter) Apply ¶
func (f *PathShortenFilter) Apply(input string, mode Mode) (string, int)
func (*PathShortenFilter) Name ¶
func (f *PathShortenFilter) Name() string
type PerceptionCompress ¶
type PerceptionCompress struct{}
type PerceptionCompressFilter ¶
type PerceptionCompressFilter struct {
// contains filtered or unexported fields
}
Paper: "Perception Compressor: Training-Free Prompt Compression for Long Context" arXiv:2504.xxxxx — 2025
PerceptionCompressFilter identifies "perceptually redundant" lines: those whose semantic content is already covered by their immediate neighbors. Removing them does not change what an LLM would perceive as the meaning of the context.
Proxy for perceptual redundancy (training-free):
- Compute term-overlap between line i and its window (i±windowSize)
- If overlap / own_terms ≥ threshold, the line is dominated by neighbors
This catches verbose prose, repeated captions, duplicate log prefixes, and transitional boilerplate that carries no new information.
func NewPerceptionCompressFilter ¶
func NewPerceptionCompressFilter() *PerceptionCompressFilter
NewPerceptionCompressFilter creates a new Perception Compressor filter.
func (*PerceptionCompressFilter) Apply ¶
func (f *PerceptionCompressFilter) Apply(input string, mode Mode) (string, int)
Apply removes perceptually redundant lines.
func (*PerceptionCompressFilter) Name ¶
func (f *PerceptionCompressFilter) Name() string
Name returns the filter name.
type PerplexityFilter ¶
type PerplexityFilter struct {
// contains filtered or unexported fields
}
Paper: "LLMLingua" — Jiang et al., Microsoft/Tsinghua, 2023 https://arxiv.org/abs/2310.05736 Paper: "LLMLingua" — Jiang et al., Microsoft/Tsinghua, 2023 https://arxiv.org/abs/2310.05736 PerplexityFilter implements LLMLingua-style compression (Microsoft/Tsinghua, 2023). Uses perplexity-based iterative pruning with a budget controller.
Algorithm: 1. Calculate perplexity of each token given context 2. Rank tokens by perplexity (higher = more surprising = more important) 3. Iteratively remove lowest-perplexity tokens while staying within budget
Research Results: Up to 20x compression with semantic preservation.
func NewPerplexityFilter ¶
func NewPerplexityFilter() *PerplexityFilter
NewPerplexityFilter creates a new perplexity-based filter
func (*PerplexityFilter) Apply ¶
func (f *PerplexityFilter) Apply(input string, mode Mode) (string, int)
Apply applies perplexity-based iterative pruning with early exit (Phase 1 optimization)
func (*PerplexityFilter) Name ¶
func (f *PerplexityFilter) Name() string
Name returns the filter name
func (*PerplexityFilter) SetIterations ¶
func (f *PerplexityFilter) SetIterations(iterations int)
SetIterations sets the number of pruning iterations
func (*PerplexityFilter) SetTargetRatio ¶
func (f *PerplexityFilter) SetTargetRatio(ratio float64)
SetTargetRatio sets the target compression ratio
type PerplexityOptimizer ¶
type PerplexityOptimizer struct {
// contains filtered or unexported fields
}
PerplexityOptimizer uses beam search
func NewPerplexityOptimizer ¶
func NewPerplexityOptimizer(width int) *PerplexityOptimizer
func (*PerplexityOptimizer) Optimize ¶
func (po *PerplexityOptimizer) Optimize(tokens []string) []string
Optimize ranks tokens by frequency; common words have lower perplexity and can be dropped during compression. Returns tokens sorted by ascending frequency (rarest first, highest perplexity first).
type PhotonFilter ¶
type PhotonFilter struct {
// contains filtered or unexported fields
}
PhotonFilter detects and compresses base64-encoded images. Inspired by claw-compactor's Photon stage.
func NewPhotonFilter ¶
func NewPhotonFilter() *PhotonFilter
NewPhotonFilter creates a new Photon filter with default configuration.
func (*PhotonFilter) Apply ¶
func (f *PhotonFilter) Apply(input string, mode Mode) (string, int)
Apply implements the Filter interface for Photon image compression.
func (*PhotonFilter) Name ¶
func (f *PhotonFilter) Name() string
Name returns the filter name for the pipeline.
type Pipeline ¶
type Pipeline interface {
Process(input string) (string, *PipelineStats, error)
}
Pipeline defines the interface for compression pipelines. This allows mock testing and future pipeline implementations.
type PipelineConfig ¶
type PipelineConfig = PipelineConfigWithNestedLayers
PipelineConfig is an alias for the full config type with backward-compatible flat fields. New code should use PipelineConfigWithNestedLayers to take advantage of nested structure.
func BuildConfigFromTiers ¶
func BuildConfigFromTiers(tiers []AutoTier, baseConfig PipelineConfig) PipelineConfig
BuildConfigFromTiers creates a PipelineConfig with tiers enabled.
func LoadPipelineFromTOML ¶
func LoadPipelineFromTOML(path string) (PipelineConfig, error)
LoadPipelineFromTOML loads pipeline configuration from TOML.
func ModeConfig ¶
func ModeConfig(mode CompressionMode, baseMode Mode) PipelineConfig
ModeConfig is an alias for TierConfig (backwards compat).
func PresetConfig ¶
func PresetConfig(preset PipelinePreset, baseMode Mode) PipelineConfig
func ProfileConfig ¶
func ProfileConfig(profile Profile, baseMode Mode) PipelineConfig
ProfileConfig is an alias for TierConfig (backwards compat).
func TierConfig ¶
func TierConfig(tier Tier, baseMode Mode) PipelineConfig
TierConfig returns a PipelineConfig for the given tier.
func ToFilterPipelineConfig ¶
func ToFilterPipelineConfig(c config.PipelineConfig, opts PipelineRuntimeOptions) PipelineConfig
ToFilterPipelineConfig converts user-facing config into the runtime pipeline config. Some fields are best-effort mappings because the public config and runtime pipeline have diverged over time; centralizing that mapping keeps behavior consistent.
func (*PipelineConfig) AllCoreLayersDisabled ¶
func (cfg *PipelineConfig) AllCoreLayersDisabled() bool
AllCoreLayersDisabled returns true when none of the core layers (1-9) are enabled. This is used by NewPipelineCoordinator to decide whether to apply zero-config defaults.
func (*PipelineConfig) HasExplicitSettings ¶
func (cfg *PipelineConfig) HasExplicitSettings() bool
HasExplicitSettings returns true when the user has provided any non-default configuration that should prevent zero-config defaults from being applied.
func (*PipelineConfig) ToLayerBitset ¶
func (cfg *PipelineConfig) ToLayerBitset() LayerBitset
ToLayerBitset packs the core layer enable flags into a compact uint64.
type PipelineConfigWithNestedLayers ¶
type PipelineConfigWithNestedLayers struct {
// Core fields
Mode Mode
QueryIntent string
Budget int
LLMEnabled bool
SessionTracking bool
NgramEnabled bool
MultiFileEnabled bool
PromptTemplate string
EnableTOMLFilter bool
TOMLFilterCommand string
EnablePolicyRouter bool
EnableExtractivePrefilter bool
ExtractiveMaxLines int
ExtractiveHeadLines int
ExtractiveTailLines int
ExtractiveSignalLines int
EnableQualityGuardrail bool
LayerGateMode string
// New: Claw Compactor features
EnableAdaptiveLearning bool // Enable adaptive learning (merged EngramLearner + TieredSummary)
EnableCrunchBench bool // Enable comprehensive benchmarking
LayerGateAllowExperimental []string
EnablePlannedLayers bool
// Layer 0: QuantumLock (KV-cache alignment)
EnableQuantumLock bool
// Layer 0.5: Photon (image compression)
EnablePhoton bool
// Layer sub-configs (preferred)
Layers LayerConfig
// Core layer enable flags (Layers 1-9)
EnableEntropy bool
EnablePerplexity bool
EnableGoalDriven bool
EnableAST bool
EnableContrastive bool
EnableEvaluator bool
EnableGist bool
EnableHierarchical bool
// Layer 11: Compaction
EnableCompaction bool
CompactionThreshold int
CompactionPreserveTurns int
CompactionMaxTokens int
CompactionStateSnapshot bool
CompactionAutoDetect bool
// Layer 12: Attribution
EnableAttribution bool
AttributionThreshold float64
// Layer 13: H2O
EnableH2O bool
H2OSinkSize int
H2ORecentSize int
H2OHeavyHitterSize int
// Layer 14: Attention Sink
EnableAttentionSink bool
AttentionSinkCount int
AttentionRecentCount int
// Layer 15: Meta-Token
EnableMetaToken bool
MetaTokenWindow int
MetaTokenMinSize int
// Layer 16: Semantic Chunk
EnableSemanticChunk bool
SemanticChunkMethod string
SemanticChunkMinSize int
SemanticChunkThreshold float64
// Layer 17: Semantic Cache
EnableSketchStore bool
SketchBudgetRatio float64
SketchMaxSize int
SketchHeavyHitter float64
// Layer 18: Lazy Pruner
EnableLazyPruner bool
LazyBaseBudget int
LazyDecayRate float64
LazyRevivalBudget int
// Layer 19: Semantic Anchor
EnableSemanticAnchor bool
SemanticAnchorRatio float64
SemanticAnchorSpacing int
// Layer 20: Agent Memory
EnableAgentMemory bool
AgentKnowledgeRetention float64
AgentHistoryPrune float64
AgentConsolidationMax int
// Adaptive layers
EnableQuestionAware bool
QuestionAwareThreshold float64
EnableDensityAdaptive bool
DensityTargetRatio float64
DensityThreshold float64
// TF-IDF
EnableTFIDF bool
TFIDFThreshold float64
// Reasoning trace
EnableReasoningTrace bool
MaxReflectionLoops int
// Phase 1: NEW filters
EnableSymbolicCompress bool
EnablePhraseGrouping bool
EnableNumericalQuant bool
DecimalPlaces int
EnableDynamicRatio bool
DynamicRatioBase float64
// Phase 2: Advanced filters
EnableHypernym bool
EnableSemanticCache bool
EnableScope bool
EnableSmallKV bool
EnableKVzip bool
// 2026 Research layers
EnableSWEzze bool
EnableMixedDim bool
EnableBEAVER bool
EnablePoC bool
EnableTokenQuant bool
EnableTokenRetention bool
EnableACON bool
// Layers 21-25: new 2025/2026 research filters
EnableMarginalInfoGain bool
EnableNearDedup bool
EnableCoTCompress bool
EnableCodingAgentCtx bool
EnablePerceptionCompress bool
// Layers 26-30: reasoning + agent filters
EnableLightThinker bool
EnableThinkSwitcher bool
EnableGMSA bool
EnableCARL bool
EnableSlimInfer bool
// Layers 31-45: adaptive reasoning + trajectory filters
EnableDiffAdapt bool
EnableEPiC bool
EnableSSDP bool
EnableAgentOCR bool
EnableS2MAD bool
EnableLatentCollab bool
EnableGraphCoT bool
EnableRoleBudget bool
EnableSWEAdaptive bool
EnableAgentOCRHist bool
EnablePlanBudget bool
EnableLightMem bool
EnablePathShorten bool
EnableJSONSampler bool
EnableContextCrunch bool // Merged LogCrunch + DiffCrunch
EnableSearchCrunch bool
EnableStructColl bool
// Unified experimental layers (L14-L16)
EnableEdgeCase bool // L14: merges L21-L25
EnableReasoning bool // L15: merges L26-L30
EnableAdvanced bool // L16: merges L31-L45
// Cache
CacheEnabled bool
CacheMaxSize int
// Tier-based configuration (new)
EnableTiers bool // Enable tier-based automatic layer selection
EnabledTiers []AutoTier // Explicit list of tiers to enable (if empty, auto-select)
}
PipelineConfigWithNestedLayers is a helper type for the new nested config structure. Use this gradually: migrate from flat fields to nested Layers config over time.
type PipelineCoordinator ¶
type PipelineCoordinator struct {
// contains filtered or unexported fields
}
PipelineCoordinator orchestrates the practical 20-layer compression pipeline. Research-based: Combines the best techniques from 120+ research papers worldwide to achieve maximum token reduction for CLI/Agent output.
func NewPipelineCoordinator ¶
func NewPipelineCoordinator(cfg *PipelineConfig) *PipelineCoordinator
NewPipelineCoordinator creates a new pipeline coordinator with all configured layers.
func (*PipelineCoordinator) Process ¶
func (p *PipelineCoordinator) Process(input string) (string, *PipelineStats)
Process runs the six-layer compression pipeline.
Layers run in order; each exits early if the token budget is already met. The quality guardrail runs after all six layers and may trigger a fallback to ModeMinimal if the output fails semantic validation.
func (*PipelineCoordinator) UpdateConfig ¶
func (p *PipelineCoordinator) UpdateConfig(fn func(*PipelineConfig))
UpdateConfig allows pooled coordinators to be reconfigured before reuse.
func (*PipelineCoordinator) Warmup ¶
func (p *PipelineCoordinator) Warmup()
Warmup pre-initializes pipeline components
type PipelineManager ¶
type PipelineManager struct {
// contains filtered or unexported fields
}
PipelineManager handles resilient large-context processing. Supports streaming for inputs up to 2M tokens with automatic chunking, validation, and failure recovery.
func NewPipelineManager ¶
func NewPipelineManager(cfg ManagerConfig) *PipelineManager
NewPipelineManager creates a new pipeline manager
func (*PipelineManager) Process ¶
func (m *PipelineManager) Process(input string, mode Mode, ctx config.CommandContext) (*ProcessResult, error)
Process processes input with full resilience and large context support. For inputs > StreamThreshold, uses streaming chunk processing.
func (*PipelineManager) ProcessWithBudget ¶
func (m *PipelineManager) ProcessWithBudget(input string, mode Mode, budget int, ctx config.CommandContext) (*ProcessResult, error)
ProcessWithBudget processes with a specific token budget.
func (*PipelineManager) ProcessWithQuery ¶
func (m *PipelineManager) ProcessWithQuery(input string, mode Mode, query string, ctx config.CommandContext) (*ProcessResult, error)
ProcessWithQuery processes with query-aware compression.
type PipelineRuntimeOptions ¶
PipelineRuntimeOptions carries per-request overrides for the runtime pipeline.
type PipelineSection ¶
type PipelineSection struct {
Mode string `toml:"mode"`
Budget int `toml:"budget"`
QueryIntent string `toml:"query_intent"`
LLMEnabled bool `toml:"llm_enabled"`
}
PipelineSection holds pipeline configuration.
type PipelineStats ¶
type PipelineStats struct {
OriginalTokens int
FinalTokens int
TotalSaved int
ReductionPercent float64
LayerStats map[string]LayerStat
CacheHit bool
// contains filtered or unexported fields
}
PipelineStats holds statistics from the compression pipeline
func ProcessWithPool ¶
func ProcessWithPool(input string, pool *CoordinatorPool) (string, *PipelineStats)
ProcessWithPool processes input using a caller-provided pool. Use NewCoordinatorPool to create a pool for a fixed config, or call GetDefaultPool for the global default pool.
func (*PipelineStats) AddLayerStatSafe ¶
func (s *PipelineStats) AddLayerStatSafe(name string, stat LayerStat)
AddLayerStatSafe adds a layer stat in a thread-safe manner.
func (*PipelineStats) RunningSavedSafe ¶
func (s *PipelineStats) RunningSavedSafe() int
RunningSavedSafe returns the running saved count safely.
func (*PipelineStats) String ¶
func (s *PipelineStats) String() string
String returns a formatted summary of pipeline stats
type PlanBudgetFilter ¶
type PlanBudgetFilter struct{}
PlanBudgetFilter applies dynamic test-time budget allocation based on input difficulty.
func NewPlanBudgetFilter ¶
func NewPlanBudgetFilter() *PlanBudgetFilter
NewPlanBudgetFilter creates the dynamic budget controller filter.
func (*PlanBudgetFilter) Apply ¶
func (f *PlanBudgetFilter) Apply(input string, mode Mode) (string, int)
Apply computes difficulty and keeps a matching budgeted subset of lines.
func (*PlanBudgetFilter) Name ¶
func (f *PlanBudgetFilter) Name() string
Name returns the filter name.
type PositionAwareFilter ¶
type PositionAwareFilter struct{}
PositionAwareFilter reorders output segments to optimize LLM recall. Based on "LongLLMLingua" (Jiang et al., 2024) - LLMs exhibit "lost in the middle" phenomenon where information in the middle of context is less likely to be recalled.
Strategy: Place high-importance segments at beginning AND end of output.
func NewPositionAwareFilter ¶
func NewPositionAwareFilter() *PositionAwareFilter
NewPositionAwareFilter creates a new position-aware filter.
func (*PositionAwareFilter) Apply ¶
func (f *PositionAwareFilter) Apply(input string, mode Mode) (string, int)
Apply reorders segments to optimize for LLM recall. This filter doesn't save tokens - it improves context quality.
func (*PositionAwareFilter) Name ¶
func (f *PositionAwareFilter) Name() string
Name returns the filter name.
type PreviewMode ¶
type PreviewMode struct {
// contains filtered or unexported fields
}
PreviewMode quick compression preview
func NewPreviewMode ¶
func NewPreviewMode(size int) *PreviewMode
func (*PreviewMode) Preview ¶
func (pm *PreviewMode) Preview(input string) string
type ProcessResult ¶
type ProcessResult struct {
Output string
OriginalTokens int
FinalTokens int
SavedTokens int
ReductionPercent float64
LayerStats map[string]LayerStat
CacheHit bool
Chunks int
Validated bool
TeeFile string // If failure occurred
Warning string
}
ProcessResult contains the result of processing
type Profile ¶
type Profile = Tier
Backwards compatibility aliases
func ContentProfile ¶
ContentProfile auto-detects the best compression profile based on output content.
type Profiler ¶
type Profiler struct {
// contains filtered or unexported fields
}
Profiler tracks layer performance
func NewProfiler ¶
func NewProfiler() *Profiler
func (*Profiler) GetMetrics ¶
func (p *Profiler) GetMetrics() map[string]*LayerMetrics
type PyramidBudget ¶
func NewPyramidBudget ¶
func NewPyramidBudget(totalReduction float64, layerCount int) *PyramidBudget
func (*PyramidBudget) CumulativeReduction ¶
func (p *PyramidBudget) CumulativeReduction(throughLayer int) float64
func (*PyramidBudget) Distribute ¶
func (p *PyramidBudget) Distribute() []float64
func (*PyramidBudget) LayerBudget ¶
func (p *PyramidBudget) LayerBudget(layerIndex int) float64
type QualityCache ¶
type QualityCache struct {
// contains filtered or unexported fields
}
QualityCache caches quality scores
func NewQualityCache ¶
func NewQualityCache() *QualityCache
func (*QualityCache) Set ¶
func (qc *QualityCache) Set(key string, score float64)
type QualityEstimator ¶
type QualityEstimator struct{}
QualityEstimator estimates the quality of compressed output
func NewQualityEstimator ¶
func NewQualityEstimator() *QualityEstimator
NewQualityEstimator creates a new quality estimator
func (*QualityEstimator) EstimateQuality ¶
func (q *QualityEstimator) EstimateQuality(original, compressed string) float64
EstimateQuality estimates the quality of compressed output vs original
type QualityGuardrail ¶
type QualityGuardrail struct{}
QualityGuardrail checks whether critical context was preserved.
func NewQualityGuardrail ¶
func NewQualityGuardrail() *QualityGuardrail
func (*QualityGuardrail) Validate ¶
func (g *QualityGuardrail) Validate(before, after string) GuardrailResult
type QualityPredictor ¶
type QualityPredictor struct {
// contains filtered or unexported fields
}
QualityPredictor predicts compression quality before processing
func NewQualityPredictor ¶
func NewQualityPredictor() *QualityPredictor
func (*QualityPredictor) Learn ¶
func (qp *QualityPredictor) Learn(input string, actualRatio float64)
func (*QualityPredictor) Predict ¶
func (qp *QualityPredictor) Predict(input string) float64
type QuantumLockFilter ¶
type QuantumLockFilter struct {
// contains filtered or unexported fields
}
QuantumLockFilter stabilizes system prompts for KV-cache alignment.
func NewQuantumLockFilter ¶
func NewQuantumLockFilter() *QuantumLockFilter
NewQuantumLockFilter creates a new KV-cache alignment filter.
func (*QuantumLockFilter) Apply ¶
func (f *QuantumLockFilter) Apply(input string, mode Mode) (string, int)
Apply stabilizes content by replacing dynamic fragments with placeholders.
func (*QuantumLockFilter) Name ¶
func (f *QuantumLockFilter) Name() string
type QueryAwareFilter ¶
type QueryAwareFilter struct {
// contains filtered or unexported fields
}
QueryAwareFilter prioritizes output segments based on the agent's query intent. Based on "LongLLMLingua" (Jiang et al., 2024) and "ACON" (Zhang et al., 2024).
Key insight: Different agent tasks need different output segments. A "debug" query needs errors/stack traces, not success messages. A "deploy" query needs status/version, not full logs.
func NewQueryAwareFilter ¶
func NewQueryAwareFilter(query ...string) *QueryAwareFilter
NewQueryAwareFilter creates a new query-aware filter with an optional query.
func (*QueryAwareFilter) Apply ¶
func (f *QueryAwareFilter) Apply(input string, mode Mode) (string, int)
Apply filters output based on query relevance.
func (*QueryAwareFilter) Name ¶
func (f *QueryAwareFilter) Name() string
Name returns the filter name.
func (*QueryAwareFilter) SetQuery ¶
func (f *QueryAwareFilter) SetQuery(query string)
SetQuery sets the query for context-aware filtering
type QueryIntent ¶
type QueryIntent int
QueryIntent represents the type of agent query
const ( IntentUnknown QueryIntent = iota IntentDebug // Finding errors, failures, crashes IntentReview // Code review, diff analysis IntentDeploy // Deployment status, version info IntentSearch // Finding files, functions, definitions IntentTest // Running/analyzing tests IntentBuild // Build/compilation status )
type QuestionAwareLayerConfig ¶
QuestionAwareLayerConfig groups T12 settings. NOTE: Currently unused - reserved for future implementation.
type RatioPredictor ¶
type RatioPredictor struct {
// contains filtered or unexported fields
}
RatioPredictor predicts compression ratio
func NewRatioPredictor ¶
func NewRatioPredictor() *RatioPredictor
func (*RatioPredictor) Learn ¶
func (rp *RatioPredictor) Learn(ratio float64)
func (*RatioPredictor) Predict ¶
func (rp *RatioPredictor) Predict() float64
type ReadMode ¶
type ReadMode string
ReadMode represents different file reading strategies. Inspired by lean-ctx's 6 read modes.
type ReadOptions ¶
ReadOptions holds options for reading content.
type RealtimeMetrics ¶
type RealtimeMetrics struct {
// contains filtered or unexported fields
}
Task 40: Real-time compression metrics
func NewRealtimeMetrics ¶
func NewRealtimeMetrics() *RealtimeMetrics
func (*RealtimeMetrics) Update ¶
func (r *RealtimeMetrics) Update(ratio float64)
type ReasoningFilter ¶
type ReasoningFilter struct{}
func NewReasoningFilter ¶
func NewReasoningFilter() *ReasoningFilter
func (*ReasoningFilter) Apply ¶
func (f *ReasoningFilter) Apply(input string, mode Mode) (string, int)
func (*ReasoningFilter) Name ¶
func (f *ReasoningFilter) Name() string
type RefactoredCoordinator ¶
type RefactoredCoordinator struct {
// contains filtered or unexported fields
}
RefactoredCoordinator is the new simplified coordinator
func NewRefactoredCoordinator ¶
func NewRefactoredCoordinator(cfg PipelineConfig) *RefactoredCoordinator
NewRefactoredCoordinator creates a refactored coordinator
func (*RefactoredCoordinator) Process ¶
func (r *RefactoredCoordinator) Process(input string) (string, *PipelineStats, error)
Process processes input through the pipeline
type RegexCache ¶
type RegexCache struct {
// contains filtered or unexported fields
}
RegexCache caches compiled regexes with a size limit
type ReversibleStore ¶
type ReversibleStore struct {
// contains filtered or unexported fields
}
ReversibleStore stores original outputs indexed by content hash. Claw-compactor style reversible compression. Users can restore any compressed output to its original form.
func NewReversibleStore ¶
func NewReversibleStore() *ReversibleStore
NewReversibleStore creates a store in the tok data directory.
func (*ReversibleStore) ListRecent ¶
func (s *ReversibleStore) ListRecent(n int) ([]StoredEntry, error)
ListRecent returns the N most recent reversible entries.
func (*ReversibleStore) Restore ¶
func (s *ReversibleStore) Restore(hashPrefix string) (*StoredEntry, error)
Restore retrieves the original output by hash prefix.
type RoleBudgetFilter ¶
type RoleBudgetFilter struct {
// contains filtered or unexported fields
}
RoleBudgetFilter allocates compression budget by multi-agent role.
func NewRoleBudgetFilter ¶
func NewRoleBudgetFilter() *RoleBudgetFilter
NewRoleBudgetFilter creates a role-aware budget filter.
func (*RoleBudgetFilter) Apply ¶
func (f *RoleBudgetFilter) Apply(input string, mode Mode) (string, int)
Apply keeps more lines from high-priority roles (executor/planner) and trims low-value roles.
func (*RoleBudgetFilter) Name ¶
func (f *RoleBudgetFilter) Name() string
Name returns the filter name.
type RollingHash ¶
type RollingHash struct {
// contains filtered or unexported fields
}
RollingHash for semantic chunking
func NewRollingHash ¶
func NewRollingHash(window int) *RollingHash
func (*RollingHash) Update ¶
func (rh *RollingHash) Update(b byte)
func (*RollingHash) Value ¶
func (rh *RollingHash) Value() uint64
type RuleType ¶
type RuleType string
RuleType defines the type of engram rule.
const ( RuleTypePreserve RuleType = "preserve" // Always preserve matching content RuleTypeCompress RuleType = "compress" // Aggressively compress RuleTypeSkipLayer RuleType = "skip_layer" // Skip specific layer for this content RuleTypeBoost RuleType = "boost" // Boost importance score RuleTypeReduce RuleType = "reduce" // Reduce importance score )
type S2MADFilter ¶
type S2MADFilter struct {
// contains filtered or unexported fields
}
Paper: "S2-MAD: Semantic-Similarity Multi-Agent Debate Compression" NAACL 2025
S2MADFilter detects agreement phrases in multi-agent debate or review outputs ("I agree with", "As X mentioned", "Building on that", "This is correct") and collapses those agreement passages into compact markers while preserving the novel arguments in each agent turn.
Multi-agent debate outputs are common in:
- LLM self-critique and revision loops
- Peer-review style agent pipelines
- RAG reranker debate outputs
The filter operates in two stages:
- Passage scoring: each line is checked for agreement/acknowledgement markers. Lines with such markers score near 0; lines with novel claims score near 1.
- Agreement run collapsing: consecutive agreement-heavy lines are merged into a single "[agreement: N lines]" marker, preserving surrounding novel content.
func NewS2MADFilter ¶
func NewS2MADFilter() *S2MADFilter
NewS2MADFilter creates a new S2-MAD multi-agent debate compression filter.
type SIMDEntropyFilter ¶
type SIMDEntropyFilter struct {
// contains filtered or unexported fields
}
SIMDEntropyFilter uses SIMD-optimized entropy calculation
func NewSIMDEntropyFilter ¶
func NewSIMDEntropyFilter(threshold float64) *SIMDEntropyFilter
type SSDPFilter ¶
type SSDPFilter struct {
// contains filtered or unexported fields
}
Paper: "SSDP / Chopping Trees: Pruning Tree-of-Thought Branches for Efficient LLM Inference" NeurIPSW 2025
SSDPFilter detects branching tree-of-thought (ToT) structures in text and prunes redundant or divergent branches, keeping only the most informative path.
Branch detection: sequences starting with markers like:
- "Option A:", "Option B:", "Alternative:", "Approach 1:", "Approach 2:"
- "Case 1:", "Case 2:", "Path A:", "Scenario A:"
Pruning strategy:
- Similarity pruning: if two branches share >60% vocabulary, drop the shorter one.
- Divergence pruning: if a branch's content strongly contradicts the final conclusion (detected by negation+key-term overlap), drop it.
- In aggressive mode: keep only the branch with the highest anchor score (error/heading density) — the branch most likely to be the final answer.
func NewSSDPFilter ¶
func NewSSDPFilter() *SSDPFilter
NewSSDPFilter creates a new SSDP tree-of-thought branch pruner.
type SWEAdaptiveLoopFilter ¶
type SWEAdaptiveLoopFilter struct {
// contains filtered or unexported fields
}
SWEAdaptiveLoopFilter adds a lightweight self-adaptive prune loop inspired by SWE-Pruner style iterative scoring and retention feedback.
func NewSWEAdaptiveLoopFilter ¶
func NewSWEAdaptiveLoopFilter() *SWEAdaptiveLoopFilter
NewSWEAdaptiveLoopFilter creates the adaptive loop filter.
func (*SWEAdaptiveLoopFilter) Apply ¶
func (f *SWEAdaptiveLoopFilter) Apply(input string, mode Mode) (string, int)
Apply runs a small iterative pruning loop with progressively tighter budgets.
func (*SWEAdaptiveLoopFilter) Name ¶
func (f *SWEAdaptiveLoopFilter) Name() string
Name returns the filter name.
type SafeFilter ¶
type SafeFilter struct {
// contains filtered or unexported fields
}
SafeFilter wraps a filter with nil checks and panic recovery. Prevents nil pointer dereferences from crashing the pipeline.
func NewSafeFilter ¶
func NewSafeFilter(filter Filter, name string) *SafeFilter
NewSafeFilter creates a nil-safe filter wrapper.
func (*SafeFilter) Apply ¶
func (sf *SafeFilter) Apply(input string, mode Mode) (output string, saved int)
Apply safely applies the filter with nil checks and recovery.
func (*SafeFilter) IsNil ¶
func (sf *SafeFilter) IsNil() bool
IsNil reports whether the wrapped filter is nil.
type SafetySection ¶
type SafetySection struct {
CheckFilterSafety bool `toml:"check_filter_safety"`
MaxFilterSize int `toml:"max_filter_size"`
AllowRemote bool `toml:"allow_remote"`
}
SafetySection holds safety configuration.
type SearchCrunchFilter ¶
type SearchCrunchFilter struct{}
SearchCrunchFilter deduplicates repeated search result lines and keeps top unique hits.
func NewSearchCrunchFilter ¶
func NewSearchCrunchFilter() *SearchCrunchFilter
func (*SearchCrunchFilter) Apply ¶
func (f *SearchCrunchFilter) Apply(input string, mode Mode) (string, int)
func (*SearchCrunchFilter) Name ¶
func (f *SearchCrunchFilter) Name() string
type Section ¶
type Section struct {
Heading string `json:"heading"`
Summary string `json:"summary"`
Level int `json:"level"`
}
Section represents a document section.
type SemanticAnchorConfig ¶
type SemanticAnchorConfig struct {
// AnchorRatio is the percentage of tokens to select as anchors (0.1 = 10%)
AnchorRatio float64
// MinAnchorSpacing is minimum tokens between anchors
MinAnchorSpacing int
// EnableAggregation allows non-anchor token aggregation
EnableAggregation bool
// PreserveStructure keeps structural tokens as anchors
PreserveStructure bool
}
SemanticAnchorConfig holds configuration for semantic anchor compression
func DefaultSemanticAnchorConfig ¶
func DefaultSemanticAnchorConfig() SemanticAnchorConfig
DefaultSemanticAnchorConfig returns default configuration
type SemanticAnchorFilter ¶
type SemanticAnchorFilter struct {
// contains filtered or unexported fields
}
SemanticAnchorFilter implements Layer 19: Semantic-Anchor Compression (SAC style).
Research Source: "SAC: Semantic-Anchor Compression" (2024) Key Innovation: Autoencoding-free compression via anchor selection and aggregation. Results: Higher compression ratios without contextual amnesia.
Methodology: 1. Anchor Detection - Identify high-connectivity tokens (semantic hubs) 2. Information Aggregation - Merge surrounding tokens into anchors 3. Prompt Reorganization - Restructure into anchor-based layout
func NewSemanticAnchorFilter ¶
func NewSemanticAnchorFilter() *SemanticAnchorFilter
NewSemanticAnchorFilter creates a new semantic anchor filter
func NewSemanticAnchorFilterWithConfig ¶
func NewSemanticAnchorFilterWithConfig(cfg SemanticAnchorConfig) *SemanticAnchorFilter
NewSemanticAnchorFilterWithConfig creates a filter with custom config
func (*SemanticAnchorFilter) Apply ¶
func (f *SemanticAnchorFilter) Apply(input string, mode Mode) (string, int)
Apply applies semantic-anchor compression
func (*SemanticAnchorFilter) GetAnchorDensity ¶
func (f *SemanticAnchorFilter) GetAnchorDensity(token string) float64
GetAnchorDensity returns the density score for a token
func (*SemanticAnchorFilter) GetAnchors ¶
func (f *SemanticAnchorFilter) GetAnchors() []AnchorToken
GetAnchors returns all detected anchor tokens
func (*SemanticAnchorFilter) GetStats ¶
func (f *SemanticAnchorFilter) GetStats() SemanticAnchorStats
GetStats returns compression statistics
func (*SemanticAnchorFilter) Name ¶
func (f *SemanticAnchorFilter) Name() string
Name returns the filter name
type SemanticAnchorLayerConfig ¶
SemanticAnchorLayerConfig groups Layer 19 settings.
type SemanticAnchorStats ¶
type SemanticAnchorStats struct {
TotalAnchors int
TotalAggregated int
NonAnchorPruned int
TokensSaved int
}
SemanticAnchorStats tracks compression statistics
type SemanticChunk ¶
type SemanticChunk struct {
Type ChunkType // Type of chunk
Content string // Original content
Tokens int // Token count
Score float64 // Importance score (0.0-1.0)
StartLine int // Start line in original content
EndLine int // End line in original content
}
SemanticChunk represents a semantic unit for compression
type SemanticChunkConfig ¶
type SemanticChunkConfig struct {
// ChunkMethod determines how to split content
ChunkMethod ChunkMethod
// MinChunkSize is the minimum tokens for a chunk
MinChunkSize int
// MaxChunkSize is the maximum tokens for a chunk
MaxChunkSize int
// ImportanceThreshold for pruning chunks (0.0-1.0)
ImportanceThreshold float64
// PreserveStructure keeps structural markers even in low-importance chunks
PreserveStructure bool
}
SemanticChunkConfig holds configuration for semantic chunking
func DefaultSemanticChunkConfig ¶
func DefaultSemanticChunkConfig() SemanticChunkConfig
DefaultSemanticChunkConfig returns default configuration
type SemanticChunkFilter ¶
type SemanticChunkFilter struct {
// contains filtered or unexported fields
}
Paper: "ChunkKV: Semantic-Preserving KV Compression" — Liu et al., NeurIPS, 2025 https://arxiv.org/abs/2502.00299 Paper: "ChunkKV: Semantic-Preserving KV Compression" — Liu et al., NeurIPS, 2025 https://arxiv.org/abs/2502.00299 SemanticChunkFilter implements Layer 16: Semantic Chunk-based Compression (ChunkKV style).
Research Source: "ChunkKV: Semantic-Guided KV Cache Compression" (NeurIPS 2025) Key Innovation: Move from token-level to chunk-level pruning to preserve semantic coherence. Results: 8.7% precision improvement, 26.5% faster throughput vs token-level methods.
Methodology: 1. Group tokens into semantic chunks (functions, classes, sentences, paragraphs) 2. Score each chunk's importance using conditional perplexity 3. Prune entire chunks (not individual tokens) to preserve structure 4. Reuse chunk indices across layers for efficiency
func NewSemanticChunkFilter ¶
func NewSemanticChunkFilter() *SemanticChunkFilter
NewSemanticChunkFilter creates a new semantic chunk filter
func NewSemanticChunkFilterWithConfig ¶
func NewSemanticChunkFilterWithConfig(cfg SemanticChunkConfig) *SemanticChunkFilter
NewSemanticChunkFilterWithConfig creates a filter with custom config
func (*SemanticChunkFilter) Apply ¶
func (f *SemanticChunkFilter) Apply(input string, mode Mode) (string, int)
Apply applies semantic chunk-based compression
func (*SemanticChunkFilter) Name ¶
func (f *SemanticChunkFilter) Name() string
Name returns the filter name
type SemanticChunkLayerConfig ¶
SemanticChunkLayerConfig groups Layer 16 settings.
type SemanticEquivalence ¶
type SemanticEquivalence struct{}
SemanticEquivalence checks if compressed output preserves meaning. Verify no critical information was lost during compression.
func NewSemanticEquivalence ¶
func NewSemanticEquivalence() *SemanticEquivalence
NewSemanticEquivalence creates a checker.
func (*SemanticEquivalence) Check ¶
func (s *SemanticEquivalence) Check(original, compressed string) EquivalenceReport
Check returns an equivalence report.
type SemanticFilter ¶
type SemanticFilter struct {
// contains filtered or unexported fields
}
SemanticFilter prunes low-information segments using statistical analysis. Based on "Selective Context" (Li et al., 2024) - uses self-information and information density to identify low-value content.
func NewSemanticFilter ¶
func NewSemanticFilter() *SemanticFilter
NewSemanticFilter creates a new semantic filter.
type SemanticFilters ¶
type SemanticFilters struct {
// contains filtered or unexported fields
}
SemanticFilters manages layers 11-20
func NewSemanticFilters ¶
func NewSemanticFilters(cfg PipelineConfig) *SemanticFilters
NewSemanticFilters creates semantic filter set
func (*SemanticFilters) Apply ¶
func (s *SemanticFilters) Apply(input string, mode Mode, stats *PipelineStats) string
Apply applies all semantic filters
type SessionConfig ¶
type SessionConfig struct {
SessionFile string // Path to session file
MaxEntries int // Maximum entries to track (0 = unlimited)
}
SessionConfig holds configuration for the session tracker
type SessionHistory ¶
type SessionHistory struct {
UserQueries []string `json:"user_queries"`
ActivityLog []string `json:"activity_log"`
FilesRead []string `json:"files_read,omitempty"`
FilesEdited []string `json:"files_edited,omitempty"`
CommandsRun []string `json:"commands_run,omitempty"`
Decisions []string `json:"decisions,omitempty"`
}
SessionHistory tracks what happened in the session
type SessionStats ¶
SessionStats holds session statistics
type SessionTracker ¶
type SessionTracker struct {
// contains filtered or unexported fields
}
SessionTracker tracks content across commands to avoid repetition. Research-based: Context-Aware Compression (2024) - avoids repeating information already shown to the agent, achieving 5-10% additional reduction.
Key insight: Agents often run similar commands repeatedly. Tracking what has been shown allows collapsing repeated content to "[seen before]" markers.
func NewSessionTracker ¶
func NewSessionTracker() *SessionTracker
NewSessionTracker creates a new session tracker.
func (*SessionTracker) Apply ¶
func (f *SessionTracker) Apply(input string, mode Mode) (string, int)
Apply applies session tracking to avoid repetition.
func (*SessionTracker) Clear ¶
func (f *SessionTracker) Clear() error
Clear clears the session history
func (*SessionTracker) Stats ¶
func (f *SessionTracker) Stats() SessionStats
Stats returns session statistics
type SinkConfig ¶
type SinkConfig struct {
// Enable attention sink filtering
Enabled bool
// Number of initial tokens to always preserve as sinks
SinkTokenCount int
// Number of recent tokens to preserve in rolling cache
RecentTokenCount int
// Preserve structural markers (headers, prefixes)
PreserveStructural bool
// Minimum content length to apply
MinContentLength int
// Anchor patterns to always preserve
AnchorPatterns []string
}
SinkConfig holds configuration for attention sink preservation
func DefaultSinkConfig ¶
func DefaultSinkConfig() SinkConfig
DefaultSinkConfig returns default configuration
type Sketch ¶
type Sketch struct {
CompressedInfo []byte // Quantized/low-rank representation
OriginalHash string // For verification
TokenCount int // Original token count
Importance float64 // Original importance score
ContentType string // "code", "text", "mixed"
}
Sketch represents a compressed content entry
type SketchCache ¶
type SketchCache struct {
TokenSketches map[string]*Sketch // hash -> sketch
Budget float64
Stats SketchStats
}
SketchCache stores compressed representations of pruned content
type SketchEntry ¶
SketchEntry represents a revivable content block
type SketchStats ¶
SketchStats tracks compression statistics
type SketchStoreConfig ¶
type SketchStoreConfig struct {
// BudgetRatio is the target compression ratio (0.1 = 10% budget)
BudgetRatio float64
// EnableRecovery allows on-demand reconstruction
EnableRecovery bool
// MaxSketchSize limits sketch storage per entry
MaxSketchSize int
// HeavyHitterRatio determines what stays uncompressed
HeavyHitterRatio float64
}
SketchStoreConfig holds configuration for sketch-based compression
func DefaultSketchStoreConfig ¶
func DefaultSketchStoreConfig() SketchStoreConfig
DefaultSketchStoreConfig returns default configuration
type SketchStoreFilter ¶
type SketchStoreFilter struct {
// contains filtered or unexported fields
}
Paper: "KVReviver: Reversible KV Cache Compression" — Yuan et al., 2025 https://arxiv.org/abs/2512.17917 Paper: "KVReviver: Reversible KV Cache Compression" — Yuan et al., 2025 https://arxiv.org/abs/2512.17917 SketchStoreFilter implements Layer 17: Sketch-based Reversible Compression (KVReviver style).
Research Source: "KVReviver: Sketch-based KV Cache Recovery" (December 2025) Key Innovation: On-demand reconstruction of pruned tokens via compressed sketches. Results: 90% memory reduction with identical accuracy at 10% budget.
Methodology: 1. Create sketches (compressed representations) for evicted content 2. Store sketches in a SketchCache for on-demand reconstruction 3. Monitor attention patterns to detect when reconstruction is needed 4. Revive pruned content when required for context
func NewSketchStoreFilter ¶
func NewSketchStoreFilter() *SketchStoreFilter
NewSketchStoreFilter creates a new sketch-based reversible store
func NewSketchStoreFilterWithConfig ¶
func NewSketchStoreFilterWithConfig(cfg SketchStoreConfig) *SketchStoreFilter
NewSketchStoreFilterWithConfig creates a filter with custom config
func (*SketchStoreFilter) Apply ¶
func (f *SketchStoreFilter) Apply(input string, mode Mode) (string, int)
Apply applies sketch-based reversible compression
func (*SketchStoreFilter) ExportSketches ¶
func (f *SketchStoreFilter) ExportSketches() ([]byte, error)
ExportSketches serializes all sketches for persistence
func (*SketchStoreFilter) GetAllSketches ¶
func (f *SketchStoreFilter) GetAllSketches() map[string]*Sketch
GetAllSketches returns all stored sketches
func (*SketchStoreFilter) GetSketch ¶
func (f *SketchStoreFilter) GetSketch(hash string) (*Sketch, bool)
GetSketch returns a sketch by hash
func (*SketchStoreFilter) GetStats ¶
func (f *SketchStoreFilter) GetStats() SketchStats
GetStats returns compression statistics
func (*SketchStoreFilter) ImportSketches ¶
func (f *SketchStoreFilter) ImportSketches(data []byte) error
ImportSketches loads sketches from serialized data
func (*SketchStoreFilter) Name ¶
func (f *SketchStoreFilter) Name() string
Name returns the filter name
type SketchStoreLayerConfig ¶
type SketchStoreLayerConfig struct {
Enabled bool
BudgetRatio float64
MaxSize int
HeavyHitter float64
}
SketchStoreLayerConfig groups Layer 17 settings.
type SlimInferFilter ¶
type SlimInferFilter struct {
// contains filtered or unexported fields
}
Paper: "SlimInfer: Accelerating Long-Context LLM Inference via Dynamic Token Pruning" arXiv:2508.06447 — 2025
SlimInferFilter implements the core insight from SlimInfer: drop "orphan" lines — lines whose terms do not appear in any other line of the output.
This is the complement to MarginalInfoGainFilter:
MIG — drops lines that contribute NO NEW terms to the retained set Slim — drops lines whose terms are REFERENCED BY NO OTHER line
Together they remove both ends of the information graph:
- Lines that are fully covered by others (MIG)
- Lines that are fully isolated from others (Slim)
Algorithm:
- Build a term → {line indices} inverted index
- For each line, compute refScore = number of OTHER lines that share ≥1 term
- Lines with refScore < threshold are "orphans" → prune
- Structural lines (errors, headings, first/last) are always kept
Threshold:
ModeMinimal: refScore ≥ 1 (at least one other line shares a term) ModeAggressive: refScore ≥ 2 (at least two other lines share a term)
func NewSlimInferFilter ¶
func NewSlimInferFilter() *SlimInferFilter
NewSlimInferFilter creates a new SlimInfer orphan-line pruner.
func (*SlimInferFilter) Apply ¶
func (f *SlimInferFilter) Apply(input string, mode Mode) (string, int)
Apply drops orphan lines (low inter-line term reference count).
func (*SlimInferFilter) Name ¶
func (f *SlimInferFilter) Name() string
Name returns the filter name.
type SmallKVCompensator ¶
type SmallKVCompensator struct {
// contains filtered or unexported fields
}
Paper: "SmallKV: Small Model Assisted Compensation" — Zhao et al., NeurIPS, 2025 https://arxiv.org/abs/2508.02751 Paper: "SmallKV: Small Model Assisted Compensation" — Zhao et al., NeurIPS, 2025 https://arxiv.org/abs/2508.02751 SmallKVCompensator implements SmallKV-style small model compensation. Research Source: "SmallKV: Small Model Assisted Compensation of KV Cache Compression for Efficient LLM Inference" (2025) Key Innovation: When aggressive compression removes important tokens, use a lightweight reconstruction pass to compensate for lost information.
This works by: after compression, check if critical information patterns were broken (unclosed brackets, incomplete statements, missing context) and reconstruct minimal bridges to maintain coherence.
func NewSmallKVCompensator ¶
func NewSmallKVCompensator() *SmallKVCompensator
NewSmallKVCompensator creates a new SmallKV compensator
func (*SmallKVCompensator) Apply ¶
func (s *SmallKVCompensator) Apply(input string, mode Mode) (string, int)
Apply implements the Filter interface for pipeline integration
func (*SmallKVCompensator) Compensate ¶
func (s *SmallKVCompensator) Compensate(original, compressed string, mode Mode) string
Compensate adds bridge tokens to compensate for over-compression. This runs AFTER other filters to repair damage from aggressive compression.
func (*SmallKVCompensator) Name ¶
func (s *SmallKVCompensator) Name() string
Name returns the filter name
type SmallKVConfig ¶
type SmallKVConfig struct {
// Enabled controls whether the compensator is active
Enabled bool
// MinContentLength minimum chars to apply
MinContentLength int
// MaxBridgeTokens maximum tokens to add as compensation
MaxBridgeTokens int
// CheckSyntaxIntegrity verifies bracket/paren matching
CheckSyntaxIntegrity bool
// CheckContextContinuity verifies logical flow preservation
CheckContextContinuity bool
}
SmallKVConfig holds configuration for SmallKV compensation
func DefaultSmallKVConfig ¶
func DefaultSmallKVConfig() SmallKVConfig
DefaultSmallKVConfig returns default configuration
type SnapshotContext ¶
type SnapshotContext struct {
Critical []string `json:"critical"` // Must preserve (can't rediscover)
Working []string `json:"working"` // Summarized knowledge
KeyValue map[string]string `json:"key_value"` // Extracted facts
CodeContext []CodeContext `json:"code_context,omitempty"`
}
SnapshotContext preserves important knowledge
type SoftBudget ¶
type SoftBudget struct {
// contains filtered or unexported fields
}
func NewSoftBudget ¶
func NewSoftBudget(l, o int) *SoftBudget
type StateSnapshot ¶
type StateSnapshot struct {
SessionHistory SessionHistory `json:"session_history"`
CurrentState CurrentState `json:"current_state"`
Context SnapshotContext `json:"context"`
PendingPlan []Milestone `json:"pending_plan"`
}
StateSnapshot represents semantic compaction output
type StoredEntry ¶
type StoredEntry struct {
Hash string `json:"hash"`
Command string `json:"command"`
Original string `json:"original"`
Compressed string `json:"compressed"`
OriginalHash string `json:"original_hash"`
Mode string `json:"mode"`
Budget int `json:"budget"`
Timestamp time.Time `json:"timestamp"`
LayerStats map[string]int `json:"layer_stats,omitempty"`
}
StoredEntry holds a reversible compression entry.
type StreamConfig ¶
type StreamConfig struct {
Enabled bool
Threshold int
ChunkSize int
ParallelChunks bool // Future: process chunks in parallel
}
StreamConfig holds configuration for streaming mode.
func DefaultStreamConfig ¶
func DefaultStreamConfig() StreamConfig
DefaultStreamConfig returns the default streaming configuration.
type StreamingPipeline ¶
type StreamingPipeline struct {
// contains filtered or unexported fields
}
StreamingPipeline processes input via io.Reader/Writer for large files
func NewStreamingPipeline ¶
func NewStreamingPipeline(cfg PipelineConfig) *StreamingPipeline
NewStreamingPipeline creates a streaming pipeline wrapper
func (*StreamingPipeline) ProcessStream ¶
func (sp *StreamingPipeline) ProcessStream(r io.Reader, w io.Writer) (*PipelineStats, error)
ProcessStream compresses input stream to output stream
type StreamingProcessor ¶
type StreamingProcessor struct {
// contains filtered or unexported fields
}
StreamingProcessor handles large inputs by processing in chunks.
func NewStreamingProcessor ¶
func NewStreamingProcessor(coordinator *PipelineCoordinator) *StreamingProcessor
NewStreamingProcessor creates a new streaming processor.
func (*StreamingProcessor) ProcessStream ¶
func (sp *StreamingProcessor) ProcessStream(input string) (string, *PipelineStats)
ProcessStream processes large input in chunks. This reduces memory usage for very large inputs.
func (*StreamingProcessor) ProcessStreamReader ¶
ProcessStreamReader processes input from a reader in streaming mode.
type StreamingResult ¶
type StreamingResult struct {
// contains filtered or unexported fields
}
StreamingResult for incremental output
func NewStreamingResult ¶
func NewStreamingResult() *StreamingResult
func (*StreamingResult) Close ¶
func (sr *StreamingResult) Close()
func (*StreamingResult) Receive ¶
func (sr *StreamingResult) Receive() <-chan string
func (*StreamingResult) Send ¶
func (sr *StreamingResult) Send(s string)
type StructuralCollapse ¶
type StructuralCollapse struct {
// contains filtered or unexported fields
}
StructuralCollapse merges import blocks and collapses repeated patterns. Inspired by claw-compactor's StructuralCollapse stage.
func NewStructuralCollapse ¶
func NewStructuralCollapse(cfg StructuralCollapseConfig) *StructuralCollapse
NewStructuralCollapse creates a new StructuralCollapse filter.
type StructuralCollapseConfig ¶
type StructuralCollapseConfig struct {
Enabled bool
CollapseImports bool
CollapseAsserts bool
MaxRepeated int
}
StructuralCollapseConfig holds configuration.
func DefaultStructuralCollapseConfig ¶
func DefaultStructuralCollapseConfig() StructuralCollapseConfig
DefaultStructuralCollapseConfig returns default configuration.
type StructuralCollapseFilter ¶
type StructuralCollapseFilter struct{}
StructuralCollapseFilter compacts repetitive structural boilerplate while preserving semantic anchors.
func NewStructuralCollapseFilter ¶
func NewStructuralCollapseFilter() *StructuralCollapseFilter
func (*StructuralCollapseFilter) Apply ¶
func (f *StructuralCollapseFilter) Apply(input string, mode Mode) (string, int)
func (*StructuralCollapseFilter) Name ¶
func (f *StructuralCollapseFilter) Name() string
type SummaryTier ¶
type SummaryTier int
SummaryTier defines the level of summarization.
const ( TierL0 SummaryTier = iota // Surface: keywords, entities TierL1 // Structural: sections, outlines TierL2 // Deep: full semantic compression )
type TDDConfig ¶
TDDConfig holds configuration for Token Dense Dialect.
func DefaultTDDConfig ¶
func DefaultTDDConfig() TDDConfig
DefaultTDDConfig returns default TDD configuration.
type TFIDFLayerConfig ¶
TFIDFLayerConfig groups TF-IDF filter settings.
type TOMLPipelineConfig ¶
type TOMLPipelineConfig struct {
Pipeline PipelineSection `toml:"pipeline"`
Layers LayersSection `toml:"layers"`
Safety SafetySection `toml:"safety"`
}
TOMLPipelineConfig holds TOML-based pipeline configuration.
type TOONConfig ¶
type TOONConfig struct {
Enabled bool
MinArrayLength int
MaxColumns int
PruneMetadata bool
StripLineNumbers bool
}
TOONConfig holds configuration for TOON encoding.
func DefaultTOONConfig ¶
func DefaultTOONConfig() TOONConfig
DefaultTOONConfig returns default TOON configuration.
type TOONEncoder ¶
type TOONEncoder struct {
// contains filtered or unexported fields
}
TOONEncoder implements columnar encoding for homogeneous JSON arrays. Inspired by kompact and tamp's TOON encoding. Achieves 40-80% compression on structured data like file listings, deps, routes.
func NewTOONEncoder ¶
func NewTOONEncoder(cfg TOONConfig) *TOONEncoder
NewTOONEncoder creates a new TOON encoder.
type TaskRunnerWrapping ¶
type TaskRunnerWrapping struct {
// contains filtered or unexported fields
}
TaskRunnerWrapping wraps task runner recipes for individual line filtering. Inspired by tokf's task runner wrapping.
func NewTaskRunnerWrapping ¶
func NewTaskRunnerWrapping(runner, filterCmd string) *TaskRunnerWrapping
NewTaskRunnerWrapping creates a new task runner wrapper.
func (*TaskRunnerWrapping) Wrap ¶
func (trw *TaskRunnerWrapping) Wrap(content string) string
Wrap wraps a Makefile or Justfile for tok filtering.
type TemplatePipe ¶
type TemplatePipe struct {
// contains filtered or unexported fields
}
TemplatePipe implements template pipe chains for filter output processing.
func NewTemplatePipe ¶
func NewTemplatePipe(chain string) *TemplatePipe
NewTemplatePipe creates a new template pipe from a pipe chain string.
func (*TemplatePipe) Process ¶
func (tp *TemplatePipe) Process(input string) string
Process applies the pipe chain to input.
type TestInput ¶
type TestInput struct {
Name string
Content string
ContentType string
ExpectedMin float64 // Minimum expected compression ratio
ExpectedMax float64 // Maximum expected compression ratio
}
TestInput represents a test case for benchmarking.
func GetBuiltinTestInputs ¶
func GetBuiltinTestInputs() []TestInput
GetBuiltinTestInputs returns a set of standard test inputs.
type ThinkSwitcher ¶
type ThinkSwitcher struct {
// contains filtered or unexported fields
}
func NewThinkSwitcher ¶
func NewThinkSwitcher() *ThinkSwitcher
type ThinkSwitcherFilter ¶
type ThinkSwitcherFilter struct {
// contains filtered or unexported fields
}
Papers:
"ThinkSwitcher: When to Think Hard, When to Think Fast" — EMNLP 2025 "Thinkless: LLM Learns When to Think" — NeurIPS 2025 (VainF/Thinkless)
ThinkSwitcherFilter is a meta-routing filter: it measures the "reasoning density" of an output (fraction of lines that look like deliberate reasoning) and routes to the appropriate compression level.
Three paths:
fast — reasoning density < fastThreshold: no reasoning detected,
pass through unchanged (avoids wasted CPU on direct answers)
light — fastThreshold ≤ density < heavyThreshold: some reasoning,
compress to 50% of reasoning lines keeping key sentences
heavy — density ≥ heavyThreshold: heavy reasoning present,
collapse to a one-line summary per reasoning block
Key insight from ThinkSwitcher: the majority of LLM outputs need no CoT compression at all. Running compression unconditionally wastes resources and can degrade quality by removing relevant content from direct answers.
func NewThinkSwitcherFilter ¶
func NewThinkSwitcherFilter() *ThinkSwitcherFilter
NewThinkSwitcherFilter creates a new ThinkSwitcher routing filter.
func (*ThinkSwitcherFilter) Apply ¶
func (f *ThinkSwitcherFilter) Apply(input string, mode Mode) (string, int)
Apply routes compression based on detected reasoning density.
func (*ThinkSwitcherFilter) Name ¶
func (f *ThinkSwitcherFilter) Name() string
Name returns the filter name.
type Tier ¶
type Tier string
Tier defines the depth of the compression pipeline. Higher tiers activate more layers for deeper compression.
const ( // Tier 1: Surface — 4 consolidated layers for speed // L1: TokenPrune + L3: CodeStructure + L7: Budget + L17: ContentDetect TierSurface Tier = "surface" // 4 layers, 30-50% reduction // Tier 2: Trim — 8 consolidated layers for balanced compression // L1-L3, L5, L7-L10 TierTrim Tier = "trim" // 8 layers, 50-70% reduction // Tier 3: Extract — 20 consolidated layers for maximum compression // All L1-L20 layers TierExtract Tier = "extract" // 20 layers, 70-90% reduction // Tier 4: Core — practical 20-layer production profile TierCore Tier = "core" // 20 layers, quality-first compression // Tier C: Code — code-aware with structure preservation TierCode Tier = "code" // 6 layers, 50-70% reduction // Tier L: Log — log-aware with deduplication TierLog Tier = "log" // 5 layers, 60-80% reduction // Tier T: Thread — conversation-aware context preservation TierThread Tier = "thread" // 5 layers, 55-75% reduction // Tier A: Adaptive — dynamic path based on content type TierAdaptive Tier = "adaptive" // dynamic, quality-first )
const ( ProfileFast Tier = TierSurface ProfileBalanced Tier = TierTrim ProfileCode Tier = TierCode ProfileLog Tier = TierLog ProfileChat Tier = TierThread ProfileMax Tier = TierCore ModeSkim Tier = TierSurface ModeRefine Tier = TierTrim ModeDistill Tier = TierExtract ModeAnnihilate Tier = TierCore )
type TieredResult ¶
TieredResult holds summaries at all three levels.
type TieredSummaryFilter ¶
type TieredSummaryFilter struct {
// contains filtered or unexported fields
}
TieredSummaryFilter implements L0/L1/L2 progressive summarization. L0: Surface summary (keywords, topics) L1: Structural summary (sections, relationships) L2: Deep summary (full semantic compression)
func NewTieredSummaryFilter ¶
func NewTieredSummaryFilter() *TieredSummaryFilter
NewTieredSummaryFilter creates a new tiered summary filter.
func (*TieredSummaryFilter) Apply ¶
func (tsf *TieredSummaryFilter) Apply(input string, mode Mode) (string, int)
Apply generates tiered summaries from input.
func (*TieredSummaryFilter) GenerateTiers ¶
func (tsf *TieredSummaryFilter) GenerateTiers(input string) *TieredResult
GenerateTiers creates all three summary levels.
func (*TieredSummaryFilter) Name ¶
func (tsf *TieredSummaryFilter) Name() string
Name returns the filter name.
type TokenDenseDialect ¶
type TokenDenseDialect struct {
// contains filtered or unexported fields
}
TokenDenseDialect implements symbol shorthand for compact LLM communication. Inspired by lean-ctx's Token Dense Dialect (TDD). Replaces common programming terms with Unicode symbols for 8-25% extra savings.
func NewTokenDenseDialect ¶
func NewTokenDenseDialect(cfg TDDConfig) *TokenDenseDialect
NewTokenDenseDialect creates a new TDD encoder.
func (*TokenDenseDialect) Decode ¶
func (tdd *TokenDenseDialect) Decode(input string) string
Decode restores original terms from symbols.
func (*TokenDenseDialect) Encode ¶
func (tdd *TokenDenseDialect) Encode(input string) (string, int)
Encode replaces common terms with Unicode symbols.
func (*TokenDenseDialect) EncodeWithStats ¶
func (tdd *TokenDenseDialect) EncodeWithStats(input string) (string, TDDStats)
EncodeWithStats encodes and returns statistics.
type TrainedEvaluatorHeads ¶
type TrainedEvaluatorHeads struct {
// contains filtered or unexported fields
}
func NewTrainedEvaluatorHeads ¶
func NewTrainedEvaluatorHeads() *TrainedEvaluatorHeads
type Turn ¶
type Turn struct {
Role string // "user" or "assistant"
Content string
Timestamp time.Time
Hash string
Tokens int
}
Turn represents a single conversation turn
type VariableNGram ¶
type VariableNGram struct {
// contains filtered or unexported fields
}
func NewVariableNGram ¶
func NewVariableNGram(min, max int) *VariableNGram
type WenyanFilter ¶
type WenyanFilter struct {
// contains filtered or unexported fields
}
WenyanFilter adapts WenyanCompress to the Filter interface.
func NewWenyanFilter ¶
func NewWenyanFilter(mode WenyanMode) *WenyanFilter
NewWenyanFilter creates a filter that applies wenyan compression at the given mode.
type WenyanMode ¶
type WenyanMode int
Wenyan compression applies rule-based classical-Chinese-inspired terseness to English or mixed text. It does not translate English to classical Chinese — that requires an LLM. Instead, it produces maximum-density fragment output with arrow causality and abbreviated technical terms.
Modes:
WenyanLite — strip filler + hedging, keep grammar, classical register WenyanFull — fragments + arrows + core abbreviations WenyanUltra — extreme abbreviation + symbolic causality chains
For text containing CJK characters, classical particles (之/乃/為/其) are added as connectives and modern particles (的/了/是) are stripped.
const ( WenyanLite WenyanMode = iota WenyanFull WenyanUltra )
type ZeroCopyBuffer ¶
type ZeroCopyBuffer struct {
// contains filtered or unexported fields
}
ZeroCopyBuffer provides zero-copy string operations.
Safety contract: The returned string from String() shares memory with the underlying byte slice. Callers MUST NOT modify the buffer (via Append, Reset, etc.) after calling String() if they still hold a reference to the returned string. Doing so causes undefined behavior (data corruption / use-after-free).
func GetBuffer ¶
func GetBuffer() *ZeroCopyBuffer
func NewZeroCopyBuffer ¶
func NewZeroCopyBuffer(capacity int) *ZeroCopyBuffer
func (*ZeroCopyBuffer) Append ¶
func (z *ZeroCopyBuffer) Append(s string)
func (*ZeroCopyBuffer) AppendByte ¶
func (z *ZeroCopyBuffer) AppendByte(b byte)
func (*ZeroCopyBuffer) Len ¶
func (z *ZeroCopyBuffer) Len() int
func (*ZeroCopyBuffer) Reset ¶
func (z *ZeroCopyBuffer) Reset()
func (*ZeroCopyBuffer) String ¶
func (z *ZeroCopyBuffer) String() string
String returns the buffer contents as a string without copying. Safety: caller must not modify the underlying buffer after calling this if the returned string is still referenced. The returned string shares the same memory as the buffer's internal []byte.
Source Files
¶
- adaptive.go
- adaptive_context_optimize.go
- adaptive_learning.go
- adaptive_pipeline.go
- advanced_opts.go
- advanced_research_unified.go
- agent_density_compress.go
- agent_history_compress.go
- agent_memory.go
- ansi.go
- ast_preserve.go
- attention_sink.go
- attribution.go
- auto_content_compress.go
- brace_depth.go
- budget.go
- buffer_pool.go
- bytepool.go
- cache_breakpoint.go
- cache_lru_compat.go
- cached_pipeline.go
- causal_edge_preserve.go
- chain_of_thought_compress.go
- code_comment_strip.go
- coding_agent_context.go
- columnar_json_encode.go
- compaction.go
- compression_stage_map.go
- constants.go
- content_profile_detect.go
- content_route_strategy.go
- contrastive.go
- conversation_turn_dedup.go
- coordinator_pool.go
- core_filters.go
- critical_action_retain.go
- cross_layer_feedback.go
- crunch_bench.go
- dedup.go
- diff_fold_compress.go
- difficulty_adaptive_compress.go
- doc.go
- edge_case_unified.go
- enhancements.go
- entropy.go
- entropy_simd.go
- equivalence.go
- error_pattern_learner.go
- evaluator_heads.go
- file_read_modes.go
- filter.go
- gist.go
- goal_driven.go
- graph_reasoning_compress.go
- group_merge_semantic_align.go
- h2o.go
- hierarchical.go
- hierarchical_summary.go
- hotpath.go
- image_compress.go
- import.go
- incremental.go
- json_stream_sampler.go
- kv_cache_aligner.go
- kv_cache_stabilize.go
- latent_collab_collapse.go
- layer_cache.go
- layer_gate.go
- layer_names.go
- layer_registry.go
- layers_37_80.go
- lazy_layer.go
- lazy_pruner.go
- llm_compress.go
- log_fold_compress.go
- manager.go
- marginal_info_gain.go
- memory_augment_compress.go
- meta_token.go
- multi_agent_debate_collapse.go
- multi_file.go
- near_duplicate_collapse.go
- ngram.go
- noise.go
- optimizers.go
- orphan_line_drop.go
- panic_safe_wrapper.go
- parallel.go
- parallel_executor.go
- path_alias_compress.go
- path_shim_injector.go
- perceptual_redundancy_drop.go
- perplexity.go
- pipeline_early_exit.go
- pipeline_init.go
- pipeline_process.go
- pipeline_runtime.go
- pipeline_stats.go
- pipeline_toml.go
- pipeline_types.go
- plan_budget.go
- position_aware.go
- presets.go
- profiler.go
- progress.go
- progressive_summarize.go
- pyramid_budget.go
- quality_guardrail.go
- quality_predictor.go
- query_aware.go
- reasoning_route_compress.go
- reasoning_step_compress.go
- reasoning_unified.go
- regex_cache.go
- reversible.go
- role_budget_compress.go
- search_result_dedup.go
- semantic.go
- semantic_anchor.go
- semantic_chunk.go
- session.go
- signature_patterns.go
- signature_truncate.go
- six_layer_pipeline.go
- sketch_store.go
- small_model_bridge.go
- streaming.go
- streaming_pipeline.go
- structural_collapse.go
- swe_adaptive_loop.go
- tests_81_100_stub.go
- threshold_feedback_learn.go
- tier_config.go
- token_dense_dialect.go
- tree_search_diverge_prune.go
- utils.go
- warmup.go
- wenyan.go
- zerocopy.go