Files
NomadArch/.trae/documents/Implement AI-Powered Smart Session Compression.md

5.4 KiB

Implementation Plan: Enhanced Session Compaction System (9 High-Priority Fixes)

Phase 1: Core Foundation (Types & Configuration)

NEW: packages/ui/src/stores/session-compaction.ts

  1. Compaction Types & Interfaces

    • CompactionMessageFlags: summary, mode, provenance flags
    • StructuredSummary: Tier A/B schema with what_was_done, files, current_state, key_decisions, next_steps, blockers, artifacts, tags, provenance
    • CompactionEvent: Audit trail with event_id, timestamp, actor, trigger_reason, token_before/after, model_used, cost_estimate
    • CompactionConfig: autoCompactEnabled, autoCompactThreshold, compactPreserveWindow, pruneReclaimThreshold, userPreference, undoRetentionWindow
    • SessionCompactingHook: Plugin contract for domain-specific rules
  2. Configuration Store

    • Default config: auto=80%, preserve=40k tokens, prune_threshold=20k, preference="ask"
    • Export functions: getCompactionConfig(), updateCompactionConfig()

Phase 2: Overflow Detection Engine

MODIFY: packages/ui/src/stores/session-compaction.ts

  1. Token Monitoring Functions

    • isOverflowDetected(usage, modelLimit): Check if usage >= threshold%
    • shouldPruneToolOutputs(usage): Check if tool outputs > reclaim threshold
    • estimateTokenReduction(before, after): Calculate % reduction
  2. Audit Trail System

    • recordCompactionEvent(sessionId, event): Append-only to audit log
    • getCompactionHistory(sessionId): Retrieve audit trail
    • exportAuditLog(): For compliance/debugging

Phase 3: Secrets Detection & Sanitization

NEW: packages/ui/src/lib/secrets-detector.ts

  1. Secrets Detector
    • Pattern matching for: api keys, passwords, tokens, secrets, credentials
    • redactSecrets(content): Returns { clean: string, redactions: { path, reason }[] }
    • Placeholder format: [REDACTED: {reason}]

Phase 4: AI-Powered Compaction Agent

MODIFY: packages/ui/src/stores/session-compaction.ts

  1. Compaction Agent Integration

    • COMPACTION_AGENT_PROMPT: Structured prompt with instructions
    • generateCompactionSummary(instanceId, sessionId, window): Call sendMessage() to get AI summary
    • Parse response into Tier A (human) and Tier B (structured JSON)
  2. Execute Compaction

    • executeCompaction(instanceId, sessionId, mode): Main compaction orchestration
    • Steps: enumerate → plugin hooks → AI summary → sanitize → store → prune → audit
    • Returns: preview, token estimate, compaction event

Phase 5: Pruning Engine

MODIFY: packages/ui/src/stores/session-compaction.ts

  1. Sliding Window Pruning
    • pruneToolOutputs(instanceId, sessionId): Maintain queue, prune oldest > threshold
    • isToolOutput(part): Classify build logs, test logs, large JSON

Phase 6: Undo & Rehydration

MODIFY: packages/ui/src/stores/session-compaction.ts

  1. Undo System
    • undoCompaction(sessionId, compactionEventId): Rehydrate within retention window
    • getCompactedSessionSummary(sessionId): Retrieve stored summary
    • expandCompactedView(sessionId): Return archived messages

Phase 7: Integration

MODIFY: packages/ui/src/stores/session-events.ts

  1. Auto-Compact Trigger
  • Monitor EventSessionUpdated for token usage
  • Trigger based on user preference (auto/ask/never)
  • Call existing showConfirmDialog() with compaction preview

MODIFY: packages/ui/src/stores/session-actions.ts

  1. Replace compactSession
  • Use new executeCompaction() function
  • Support both "prune" and "compact" modes

Phase 8: Schema Validation

NEW: packages/ui/src/lib/compaction-validation.ts

  1. Schema Validation
  • validateStructuredSummary(summary): Zod schema for Tier B
  • validateCompactionEvent(event): Zod schema for audit trail
  • ValidationErrors type with path, message, code

Phase 9: CI Tests

NEW: packages/ui/src/stores/session-compaction.test.ts

  1. Test Coverage
  • test_overflow_detection: Verify threshold calculation
  • test_secrets_redaction: Verify patterns are caught
  • test_compaction_execution: Full compaction flow
  • test_undo_rehydration: Verify restore works
  • test_plugin_hooks: Verify custom rules apply

Phase 10: Canary Rollout

MODIFY: packages/ui/src/stores/session-compaction.ts

  1. Feature Flag
  • ENABLE_SMART_COMPACTION: Environment variable or config flag
  • Default: false for canary, set to true for full rollout
  • Graceful degradation: fall back to simple compaction if disabled

Implementation Order (Priority)

  1. P0 - Foundation: Types, config, schema validation (1-2, 12)
  2. P0 - Core Engine: Overflow detection, secrets detector (3-5)
  3. P0 - AI Integration: Compaction agent, execute function (6-7)
  4. P1 - Pruning: Tool output classification, sliding window (8)
  5. P1 - Undo: Rehydration system (9)
  6. P1 - Integration: Session events, actions integration (10-11)
  7. P2 - Tests: CI test coverage (13)
  8. P2 - Rollout: Feature flag, canary enablement (14)

Success Criteria

  • AI generates meaningful summaries (not just "0 AI responses")
  • Overflow detected before context limit exceeded
  • Secrets are redacted before storage
  • Audit trail tracks every compaction
  • Undo works within retention window
  • Schema validation prevents corrupt data
  • CI tests ensure reliability
  • Canary flag allows safe rollout