conductor(tracks): Add two deferred future tracks
- aggregation_smarter_summaries: Sub-agent summarization, hash-based caching - system_context_exposure: Expose hidden _SYSTEM_PROMPT for user customization
This commit is contained in:
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"name": "aggregation_smarter_summaries",
|
||||
"created": "2026-03-22",
|
||||
"status": "future",
|
||||
"priority": "medium",
|
||||
"affected_files": [
|
||||
"src/aggregate.py",
|
||||
"src/file_cache.py",
|
||||
"src/ai_client.py",
|
||||
"src/models.py"
|
||||
],
|
||||
"related_tracks": [
|
||||
"discussion_hub_panel_reorganization (in_progress)",
|
||||
"system_context_exposure (future)"
|
||||
],
|
||||
"notes": "Deferred from discussion_hub_panel_reorganization planning. Improves aggregation with sub-agent summarization and hash-based caching."
|
||||
}
|
||||
@@ -0,0 +1,49 @@
|
||||
# Implementation Plan: Smarter Aggregation with Sub-Agent Summarization
|
||||
|
||||
## Phase 1: Hash-Based Summary Cache
|
||||
Focus: Implement file hashing and cache storage
|
||||
|
||||
- [ ] Task: Research existing file hash implementations in codebase
|
||||
- [ ] Task: Design cache storage format (file-based vs project state)
|
||||
- [ ] Task: Implement hash computation for aggregation files
|
||||
- [ ] Task: Implement summary cache storage and retrieval
|
||||
- [ ] Task: Add cache invalidation when file content changes
|
||||
- [ ] Task: Write tests for hash computation and cache
|
||||
- [ ] Task: Conductor - User Manual Verification 'Phase 1: Hash-Based Summary Cache'
|
||||
|
||||
## Phase 2: Sub-Agent Summarization
|
||||
Focus: Implement sub-agent summarization during aggregation
|
||||
|
||||
- [ ] Task: Audit current aggregate.py flow
|
||||
- [ ] Task: Define summarization prompt strategy for code vs text files
|
||||
- [ ] Task: Implement sub-agent invocation during aggregation
|
||||
- [ ] Task: Handle provider-specific differences in sub-agent calls
|
||||
- [ ] Task: Write tests for sub-agent summarization
|
||||
- [ ] Task: Conductor - User Manual Verification 'Phase 2: Sub-Agent Summarization'
|
||||
|
||||
## Phase 3: Tiered Aggregation Strategy
|
||||
Focus: Respect tier-level aggregation configuration
|
||||
|
||||
- [ ] Task: Audit how tiers receive context currently
|
||||
- [ ] Task: Implement tier-level aggregation strategy selection
|
||||
- [ ] Task: Connect tier strategy to Persona configuration
|
||||
- [ ] Task: Write tests for tiered aggregation
|
||||
- [ ] Task: Conductor - User Manual Verification 'Phase 3: Tiered Aggregation Strategy'
|
||||
|
||||
## Phase 4: UI Integration
|
||||
Focus: Expose cache status and controls in UI
|
||||
|
||||
- [ ] Task: Add cache status indicator to Files & Media panel
|
||||
- [ ] Task: Add "Clear Summary Cache" button
|
||||
- [ ] Task: Add aggregation configuration to Project Settings or AI Settings
|
||||
- [ ] Task: Write tests for UI integration
|
||||
- [ ] Task: Conductor - User Manual Verification 'Phase 4: UI Integration'
|
||||
|
||||
## Phase 5: Cache Persistence & Optimization
|
||||
Focus: Ensure cache persists and is performant
|
||||
|
||||
- [ ] Task: Implement persistent cache storage to disk
|
||||
- [ ] Task: Add cache size management (max entries, LRU)
|
||||
- [ ] Task: Performance testing with large codebases
|
||||
- [ ] Task: Write tests for persistence
|
||||
- [ ] Task: Conductor - User Manual Verification 'Phase 5: Cache Persistence & Optimization'
|
||||
103
conductor/tracks/aggregation_smarter_summaries_20260322/spec.md
Normal file
103
conductor/tracks/aggregation_smarter_summaries_20260322/spec.md
Normal file
@@ -0,0 +1,103 @@
|
||||
# Specification: Smarter Aggregation with Sub-Agent Summarization
|
||||
|
||||
## 1. Overview
|
||||
|
||||
This track improves the context aggregation system to use sub-agent passes for intelligent summarization and hash-based caching to avoid redundant work.
|
||||
|
||||
**Current Problem:**
|
||||
- Aggregation is a simple pass that either injects full file content or a basic skeleton
|
||||
- No intelligence applied to determine what level of detail is needed
|
||||
- Same files get re-summarized on every discussion start even if unchanged
|
||||
|
||||
**Goal:**
|
||||
- Use a sub-agent during aggregation pass for high-tier agents to generate succinct summaries
|
||||
- Cache summaries based on file hash - only re-summarize if file changed
|
||||
- Smart outline generation for code files, summary for text files
|
||||
|
||||
## 2. Current State Audit
|
||||
|
||||
### Existing Aggregation Behavior
|
||||
- `aggregate.py` handles context aggregation
|
||||
- `file_cache.py` provides AST parsing and skeleton generation
|
||||
- Per-file flags: `Auto-Aggregate` (summarize), `Force Full` (inject raw)
|
||||
- No caching of summarization results
|
||||
|
||||
### Provider API Considerations
|
||||
- Different providers have different prompt/caching mechanisms
|
||||
- Need to verify how each provider handles system context and caching
|
||||
- May need provider-specific aggregation strategies
|
||||
|
||||
## 3. Functional Requirements
|
||||
|
||||
### 3.1 Hash-Based Summary Cache
|
||||
- Generate SHA256 hash of file content
|
||||
- Store summaries in a cache (file-based or in project state)
|
||||
- Before summarizing, check if file hash matches cached summary
|
||||
- Cache invalidation when file content changes
|
||||
|
||||
### 3.2 Sub-Agent Summarization Pass
|
||||
- During aggregation, optionally invoke sub-agent for summarization
|
||||
- Sub-agent generates concise summary of file purpose and key points
|
||||
- Different strategies for:
|
||||
- Code files: AST-based outline + key function signatures
|
||||
- Text files: Paragraph-level summary
|
||||
- Config files: Key-value extraction
|
||||
|
||||
### 3.3 Tiered Aggregation Strategy
|
||||
- Tier 3/4 workers: Get skeleton outlines (fast, cheap)
|
||||
- Tier 2 (Tech Lead): Get summaries with key details
|
||||
- Tier 1 (Orchestrator): May get full content or enhanced summaries
|
||||
- Configurable per-agent via Persona
|
||||
|
||||
### 3.4 Cache Persistence
|
||||
- Summaries persist across sessions
|
||||
- Stored in project directory or centralized cache location
|
||||
- Manual cache clear option in UI
|
||||
|
||||
## 4. Data Model
|
||||
|
||||
### 4.1 Summary Cache Entry
|
||||
```python
|
||||
{
|
||||
"file_path": str,
|
||||
"file_hash": str, # SHA256 of content
|
||||
"summary": str,
|
||||
"outline": str, # For code files
|
||||
"generated_at": str, # ISO timestamp
|
||||
"generator_tier": str, # Which tier generated it
|
||||
}
|
||||
```
|
||||
|
||||
### 4.2 Aggregation Config
|
||||
```toml
|
||||
[aggregation]
|
||||
default_mode = "summarize" # "full", "summarize", "outline"
|
||||
cache_enabled = true
|
||||
cache_dir = ".slop_cache"
|
||||
```
|
||||
|
||||
## 5. UI Changes
|
||||
|
||||
- Add "Clear Summary Cache" button in Files & Media or Context Composition
|
||||
- Show cached status indicator on files (similar to AST cache indicator)
|
||||
- Configuration in AI Settings or Project Settings
|
||||
|
||||
## 6. Acceptance Criteria
|
||||
|
||||
- [ ] File hash computed before summarization
|
||||
- [ ] Summary cache persists across app restarts
|
||||
- [ ] Sub-agent generates better summaries than basic skeleton
|
||||
- [ ] Aggregation respects tier-level configuration
|
||||
- [ ] Cache can be manually cleared
|
||||
- [ ] Provider APIs handle aggregated context correctly
|
||||
|
||||
## 7. Out of Scope
|
||||
- Changes to provider API internals
|
||||
- Vector store / embeddings for RAG (separate track)
|
||||
- Changes to Session Hub / Discussion Hub layout
|
||||
|
||||
## 8. Dependencies
|
||||
- `aggregate.py` - main aggregation logic
|
||||
- `file_cache.py` - AST parsing and caching
|
||||
- `ai_client.py` - sub-agent invocation
|
||||
- `models.py` - may need new config structures
|
||||
Reference in New Issue
Block a user