Skip to content

Evidence Traceability UI #42

@mathaix

Description

@mathaix

User Story

As a manager
I want to trace every insight back to its source interview quotes
So that I can verify claims and build trust in AI-generated findings

Acceptance Criteria

Evidence Chain Visualization

For any insight, recommendation, or finding:

  • Click "View Evidence" to see supporting quotes
  • Evidence panel shows:
    • Quote excerpt with context
    • Speaker name and role
    • Interview ID and timestamp
    • Confidence score
    • Link to full transcript at that point
  • Multiple evidence sources for each insight
  • Conflicting evidence shown separately

Evidence Quality Indicators

  • Strong Evidence: 3+ sources, high agreement
  • Moderate Evidence: 2 sources, general agreement
  • Weak Evidence: 1 source or conflicting views
  • Visual badges for evidence strength
  • Confidence percentage based on evidence

Interactive Evidence Explorer

  • Insights organized in tree structure
  • Root: Recommendation
  • Level 1: Supporting insights
  • Level 2: Evidence nodes
  • Level 3: Interview transcripts
  • Expand/collapse tree navigation

Evidence Filtering

  • Show/hide low-confidence evidence
  • Filter by interview source
  • Filter by speaker role
  • Search evidence quotes

Evidence in Reports

  • Footnote-style citations in exported reports
  • Appendix with full evidence details
  • Hyperlinks from claim to evidence (PDF)
  • Evidence table with all sources

Neo4j Evidence Architecture

The evidence chain in Neo4j:

(:Recommendation {text: "Consolidate CRM platforms"})
  -[:DERIVED_FROM]->
(:Insight {text: "CRM Pro has higher satisfaction"})
  -[:BASED_ON]->
(:Evidence {quote: "NPS is at 72...", timestamp: "..."})
  -[:FROM_INTERVIEW]->
(:Interview {id: "int_008"})
  -[:SPOKEN_BY]->
(:Person {name: "Mike Johnson", role: "CS Manager"})

Evidence Validation

  • Every recommendation must have ≥1 insight
  • Every insight must have ≥1 evidence
  • Every evidence must link to interview
  • Synthesis blocked if evidence chain incomplete

Conflict Resolution Display

When evidence conflicts:

  • Show all conflicting quotes
  • Explain resolution strategy used
  • Display expert-weighted consensus if applicable
  • Flag for manager review if unresolved

Evidence Export

  • Export evidence table as CSV
  • Include all fields: insight, quote, speaker, interview, confidence
  • Filter before export

Technical Notes

# Evidence chain query
async def get_evidence_chain(recommendation_id: str):
    query = """
    MATCH (r:Recommendation {id: $rec_id})
    MATCH (r)-[:DERIVED_FROM*]->(i:Insight)
    MATCH (i)-[:BASED_ON]->(e:Evidence)
    MATCH (e)-[:FROM_INTERVIEW]->(int:Interview)
    MATCH (int)-[:SPOKEN_BY]->(p:Person)
    RETURN r, i, e, int, p
    """
    result = await neo4j.run(query, rec_id=recommendation_id)
    return build_evidence_tree(result)

This is Clara's most important differentiator - full evidence traceability makes synthesis defensible.

Definition of Done

  • Evidence chain query working
  • Evidence panel UI implemented
  • Evidence indicators visible
  • Conflict display working
  • Evidence validation enforced
  • Export functionality working
  • Code reviewed and merged

Requirement ID

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