Skip to content

Add example: Jupyter notebook CTI analysis workflow #41

@rolandpg

Description

@rolandpg

Summary

Create a Jupyter notebook showing a complete CTI analysis workflow.

Context

An example notebook helps users understand ZettelForge's capabilities interactively. This is the showcase for data scientists and analysts evaluating the tool.

  • File to create: examples/cti_analysis.ipynb

Acceptance Criteria

  • Notebook runs end-to-end without errors (using a temp directory, no persistent state)
  • Covers these steps with markdown explanations between each:
    1. Install and import (from zettelforge import MemoryManager)
    2. Ingest 3+ CTI reports (use realistic examples, can reuse from demo.py)
    3. Show extracted entities from each report
    4. Query by threat actor (recall_actor("apt28"))
    5. Semantic recall (recall("supply chain attacks"))
    6. Show knowledge graph stats (get_stats())
    7. Synthesize findings (synthesize("What do we know about APT28?")) — wrap in try/except since LLM may not be available
  • Each code cell has expected output shown (use cell output, not just comments)
  • Notebook has a title cell: "ZettelForge: CTI Analysis Workflow"
  • Works with pip install zettelforge only (no extra deps beyond jupyter)
  • Test: jupyter nbconvert --execute examples/cti_analysis.ipynb completes without error

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions