Skip to content

Planopticon Integration

What is Planopticon

Planopticon is a video and meeting knowledge extraction tool. It ingests recordings, transcripts, and meeting notes and produces structured knowledge graphs: entities (people, concepts, decisions), relationships, action items, and diagrams extracted from the meeting content.

Navegador treats Planopticon output as a first-class knowledge source. Where navegador add concept requires manual entry, Planopticon extracts concepts, rules, and decisions from meeting recordings automatically and navegador stores them alongside your code graph.


How they connect

Video / transcript
  Planopticon
       ↓  produces
  knowledge_graph.json / interchange.json / manifest.json
  navegador planopticon ingest
       ↓  creates
  Concept / Rule / Decision / Person / WikiPage nodes
  in the same FalkorDB graph as your code

The result: "the team decided to use Redis for session storage in the March architecture review" becomes a Decision node linked to the Infrastructure domain and, via GOVERNS, to the SessionManager class in your code.


Input formats

Planopticon produces several output formats. Navegador accepts all of them and auto-detects by default.

manifest.json

Top-level manifest for a multi-file Planopticon output package. Points to the knowledge graph, interchange, and supporting files.

{
  "version": "1.0",
  "source": "zoom-meeting-2026-03-15",
  "knowledge_graph": "knowledge_graph.json",
  "interchange": "interchange.json",
  "diagrams": ["arch-diagram.png"]
}

knowledge_graph.json

Planopticon's native graph format. Contains typed entities and relationships:

{
  "entities": [
    { "id": "e1", "type": "Decision", "name": "UseRedisForSessions", "description": "...", "rationale": "..." },
    { "id": "e2", "type": "Person", "name": "Alice Chen", "role": "Lead Engineer" },
    { "id": "e3", "type": "Concept", "name": "SessionAffinity", "description": "..." }
  ],
  "relationships": [
    { "from": "e2", "to": "e1", "type": "DECIDED_BY" },
    { "from": "e1", "to": "e3", "type": "RELATED_TO" }
  ]
}

interchange.json

A normalized interchange format, flatter than the native graph. Used when exporting from Planopticon for consumption by downstream tools.

{
  "concepts": [...],
  "rules": [...],
  "decisions": [...],
  "people": [...],
  "action_items": [...],
  "diagrams": [...]
}

Batch manifest

A JSON file listing multiple Planopticon output directories or archive paths for bulk ingestion:

{
  "batch": [
    { "path": "./meetings/2026-03-15/", "source": "arch-review" },
    { "path": "./meetings/2026-02-20/", "source": "sprint-planning" }
  ]
}

What maps to what

Planopticon entity Navegador node Notes
Concept Concept Direct mapping; domain preserved if present
Rule Rule Severity set to info if not specified
Decision Decision rationale, alternatives, date, status preserved
Person Person name, email, role, team preserved
Action item Rule + ASSIGNED_TO Creates a Rule with severity info; creates ASSIGNED_TO edge to the Person
Diagram / image WikiPage Title from filename; content set to alt-text or caption
Relationship: DECIDED_BY DECIDED_BY edge Person → Decision
Relationship: RELATED_TO RELATED_TO edge Between any two knowledge nodes
Entity domain field BELONGS_TO edge Links node to named Domain (created if not exists)

CLI examples

navegador planopticon ingest ./meeting-output/ --type auto

Explicit format

navegador planopticon ingest ./meeting-output/knowledge_graph.json --type kg
navegador planopticon ingest ./meeting-output/interchange.json --type interchange
navegador planopticon ingest ./manifest.json --type manifest
navegador planopticon ingest ./batch.json --type batch

Label the source

Use --source to tag all nodes from this ingestion with a source label (useful for auditing where knowledge came from):

navegador planopticon ingest ./meeting-output/ \
  --type auto \
  --source "arch-review-2026-03-15"

JSON output

navegador planopticon ingest ./meeting-output/ --json

Returns a summary of nodes and edges created.


Python API

from navegador.ingest import PlanopticonIngester
from navegador.graph import GraphStore

store = GraphStore.sqlite(".navegador/navegador.db")
ingester = PlanopticonIngester(store)

# auto-detect format
result = ingester.ingest("./meeting-output/", input_type="auto", source="arch-review")

print(f"Created {result.nodes_created} nodes, {result.edges_created} edges")

# ingest a specific interchange file
result = ingester.ingest_interchange("./interchange.json", source="sprint-planning")

PlanopticonIngester methods

Method Description
ingest(path, input_type, source) Auto or explicit ingest from path
ingest_manifest(path, source) Ingest a manifest.json package
ingest_kg(path, source) Ingest a knowledge_graph.json file
ingest_interchange(path, source) Ingest an interchange.json file
ingest_batch(path, source) Ingest a batch manifest