Skip to content

Synthesis Report Generation #39

Description

@mathaix

User Story

As a manager
I want an automatically generated synthesis report with insights and recommendations
So that I can present findings to stakeholders and inform decisions

Acceptance Criteria

Automatic Synthesis Trigger

  • Synthesis runs automatically when:
    • All invited interviews are completed, OR
    • Manager manually triggers synthesis, OR
    • Scheduled time reached (e.g., "run synthesis Friday at 5pm")
  • Synthesis can run multiple times (iterative as more interviews complete)

4-Stage Synthesis Pipeline

Based on SYNTHESIS-PIPELINE.md:

Stage 1: Extraction

  • Pull all entity extractions from Neo4j
  • Aggregate per-interview structured data
  • Validate extraction completeness

Stage 2: Correlation

  • Run entity resolution (merge duplicates)
  • Detect cross-interview patterns
  • Identify conflicts and disagreements
  • Build consensus views

Stage 3: Analysis

  • Apply analysis frameworks from blueprint
  • Examples: System overlap matrix, process variance, risk assessment
  • Calculate metrics defined in blueprint
  • Generate domain-specific insights

Stage 4: Synthesis

  • Generate recommendations with evidence
  • Create action items with priority
  • Produce deliverables specified in blueprint
  • Build evidence citations for all claims

Report Sections

Based on blueprint AnalysisBlueprint:

  • Executive Summary: Key findings, recommendations (1 page)
  • Methodology: How discovery was conducted, who participated
  • Findings: Organized by topic/entity type with evidence
  • Analysis Results: Framework outputs (matrices, charts, tables)
  • Recommendations: Prioritized actions with rationale
  • Appendix: Full entity lists, interview summaries, evidence

Evidence Citations

  • Every insight links to supporting evidence
  • Evidence includes: quote excerpt, speaker, interview ID, timestamp
  • Conflicting evidence shown with resolution rationale
  • Confidence scores visible (based on evidence quantity/quality)

Synthesis Status

  • Synthesis progress indicator
  • Estimated time to completion
  • Error handling if synthesis fails
  • Partial results if synthesis incomplete

Versioning

  • Each synthesis run creates a new version
  • Version history visible
  • Can regenerate with updated blueprint or additional interviews

Technical Notes

  • Use A2A Protocol to coordinate synthesis agents
  • Synthesis Agent orchestrates extraction, correlation, analysis sub-agents
  • Store synthesis results in PostgreSQL + Neo4j (insights as nodes)
  • See SYNTHESIS-PIPELINE.md for detailed algorithm
# Synthesis orchestration
async def run_synthesis(project_id: str) -> SynthesisResult:
    # Stage 1
    extractions = await extraction_agent.run(project_id)
    
    # Stage 2
    correlations = await correlation_agent.run(extractions)
    
    # Stage 3
    analysis = await analysis_agent.run(correlations, blueprint.analysis_frameworks)
    
    # Stage 4
    synthesis = await synthesis_agent.run(analysis, blueprint.report_templates)
    
    return synthesis

Definition of Done

  • 4-stage pipeline implemented
  • Evidence citations working
  • Report generation from blueprint templates
  • Synthesis versioning working
  • Integration tests with sample data
  • Code reviewed and merged

Requirement ID

RS-06, RS-09


🤖 Generated with Claude Code

Metadata

Metadata

Assignees

No one assigned

    Labels

    blueprintInterview Blueprint relatedmanager-flowManager workflow featurespriority:mustMust have (MoSCoW)storyUser story

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions