Navegador

navegador / docs / guide / planopticon.md
Source Blame History 175 lines
ce0374a… lmata 1 # Planopticon Integration
ce0374a… lmata 2
ce0374a… lmata 3 ## What is Planopticon
ce0374a… lmata 4
ce0374a… lmata 5 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.
ce0374a… lmata 6
ce0374a… lmata 7 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.
ce0374a… lmata 8
ce0374a… lmata 9 ---
ce0374a… lmata 10
ce0374a… lmata 11 ## How they connect
ce0374a… lmata 12
ce0374a… lmata 13 ```
ce0374a… lmata 14 Video / transcript
ce0374a… lmata 15
ce0374a… lmata 16 Planopticon
ce0374a… lmata 17 ↓ produces
ce0374a… lmata 18 knowledge_graph.json / interchange.json / manifest.json
ce0374a… lmata 19
ce0374a… lmata 20 navegador planopticon ingest
ce0374a… lmata 21 ↓ creates
ce0374a… lmata 22 Concept / Rule / Decision / Person / WikiPage nodes
ce0374a… lmata 23 in the same FalkorDB graph as your code
ce0374a… lmata 24 ```
ce0374a… lmata 25
ce0374a… lmata 26 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.
ce0374a… lmata 27
ce0374a… lmata 28 ---
ce0374a… lmata 29
ce0374a… lmata 30 ## Input formats
ce0374a… lmata 31
ce0374a… lmata 32 Planopticon produces several output formats. Navegador accepts all of them and auto-detects by default.
ce0374a… lmata 33
ce0374a… lmata 34 ### manifest.json
ce0374a… lmata 35
ce0374a… lmata 36 Top-level manifest for a multi-file Planopticon output package. Points to the knowledge graph, interchange, and supporting files.
ce0374a… lmata 37
ce0374a… lmata 38 ```json
ce0374a… lmata 39 {
ce0374a… lmata 40 "version": "1.0",
ce0374a… lmata 41 "source": "zoom-meeting-2026-03-15",
ce0374a… lmata 42 "knowledge_graph": "knowledge_graph.json",
ce0374a… lmata 43 "interchange": "interchange.json",
ce0374a… lmata 44 "diagrams": ["arch-diagram.png"]
ce0374a… lmata 45 }
ce0374a… lmata 46 ```
ce0374a… lmata 47
ce0374a… lmata 48 ### knowledge_graph.json
ce0374a… lmata 49
ce0374a… lmata 50 Planopticon's native graph format. Contains typed entities and relationships:
ce0374a… lmata 51
ce0374a… lmata 52 ```json
ce0374a… lmata 53 {
ce0374a… lmata 54 "entities": [
ce0374a… lmata 55 { "id": "e1", "type": "Decision", "name": "UseRedisForSessions", "description": "...", "rationale": "..." },
ce0374a… lmata 56 { "id": "e2", "type": "Person", "name": "Alice Chen", "role": "Lead Engineer" },
ce0374a… lmata 57 { "id": "e3", "type": "Concept", "name": "SessionAffinity", "description": "..." }
ce0374a… lmata 58 ],
ce0374a… lmata 59 "relationships": [
ce0374a… lmata 60 { "from": "e2", "to": "e1", "type": "DECIDED_BY" },
ce0374a… lmata 61 { "from": "e1", "to": "e3", "type": "RELATED_TO" }
ce0374a… lmata 62 ]
ce0374a… lmata 63 }
ce0374a… lmata 64 ```
ce0374a… lmata 65
ce0374a… lmata 66 ### interchange.json
ce0374a… lmata 67
ce0374a… lmata 68 A normalized interchange format, flatter than the native graph. Used when exporting from Planopticon for consumption by downstream tools.
ce0374a… lmata 69
ce0374a… lmata 70 ```json
ce0374a… lmata 71 {
ce0374a… lmata 72 "concepts": [...],
ce0374a… lmata 73 "rules": [...],
ce0374a… lmata 74 "decisions": [...],
ce0374a… lmata 75 "people": [...],
ce0374a… lmata 76 "action_items": [...],
ce0374a… lmata 77 "diagrams": [...]
ce0374a… lmata 78 }
ce0374a… lmata 79 ```
ce0374a… lmata 80
ce0374a… lmata 81 ### Batch manifest
ce0374a… lmata 82
ce0374a… lmata 83 A JSON file listing multiple Planopticon output directories or archive paths for bulk ingestion:
ce0374a… lmata 84
ce0374a… lmata 85 ```json
ce0374a… lmata 86 {
ce0374a… lmata 87 "batch": [
ce0374a… lmata 88 { "path": "./meetings/2026-03-15/", "source": "arch-review" },
ce0374a… lmata 89 { "path": "./meetings/2026-02-20/", "source": "sprint-planning" }
ce0374a… lmata 90 ]
ce0374a… lmata 91 }
ce0374a… lmata 92 ```
ce0374a… lmata 93
ce0374a… lmata 94 ---
ce0374a… lmata 95
ce0374a… lmata 96 ## What maps to what
ce0374a… lmata 97
ce0374a… lmata 98 | Planopticon entity | Navegador node | Notes |
ce0374a… lmata 99 |---|---|---|
ce0374a… lmata 100 | `Concept` | `Concept` | Direct mapping; domain preserved if present |
ce0374a… lmata 101 | `Rule` | `Rule` | Severity set to `info` if not specified |
ce0374a… lmata 102 | `Decision` | `Decision` | `rationale`, `alternatives`, `date`, `status` preserved |
ce0374a… lmata 103 | `Person` | `Person` | `name`, `email`, `role`, `team` preserved |
ce0374a… lmata 104 | Action item | `Rule` + `ASSIGNED_TO` | Creates a `Rule` with severity `info`; creates `ASSIGNED_TO` edge to the `Person` |
ce0374a… lmata 105 | Diagram / image | `WikiPage` | Title from filename; content set to alt-text or caption |
ce0374a… lmata 106 | `Relationship: DECIDED_BY` | `DECIDED_BY` edge | Person → Decision |
ce0374a… lmata 107 | `Relationship: RELATED_TO` | `RELATED_TO` edge | Between any two knowledge nodes |
ce0374a… lmata 108 | Entity domain field | `BELONGS_TO` edge | Links node to named `Domain` (created if not exists) |
ce0374a… lmata 109
ce0374a… lmata 110 ---
ce0374a… lmata 111
ce0374a… lmata 112 ## CLI examples
ce0374a… lmata 113
ce0374a… lmata 114 ### Auto-detect format (recommended)
ce0374a… lmata 115
ce0374a… lmata 116 ```bash
ce0374a… lmata 117 navegador planopticon ingest ./meeting-output/ --type auto
ce0374a… lmata 118 ```
ce0374a… lmata 119
ce0374a… lmata 120 ### Explicit format
ce0374a… lmata 121
ce0374a… lmata 122 ```bash
ce0374a… lmata 123 navegador planopticon ingest ./meeting-output/knowledge_graph.json --type kg
ce0374a… lmata 124 navegador planopticon ingest ./meeting-output/interchange.json --type interchange
ce0374a… lmata 125 navegador planopticon ingest ./manifest.json --type manifest
ce0374a… lmata 126 navegador planopticon ingest ./batch.json --type batch
ce0374a… lmata 127 ```
ce0374a… lmata 128
ce0374a… lmata 129 ### Label the source
ce0374a… lmata 130
ce0374a… lmata 131 Use `--source` to tag all nodes from this ingestion with a source label (useful for auditing where knowledge came from):
ce0374a… lmata 132
ce0374a… lmata 133 ```bash
ce0374a… lmata 134 navegador planopticon ingest ./meeting-output/ \
ce0374a… lmata 135 --type auto \
ce0374a… lmata 136 --source "arch-review-2026-03-15"
ce0374a… lmata 137 ```
ce0374a… lmata 138
ce0374a… lmata 139 ### JSON output
ce0374a… lmata 140
ce0374a… lmata 141 ```bash
ce0374a… lmata 142 navegador planopticon ingest ./meeting-output/ --json
ce0374a… lmata 143 ```
ce0374a… lmata 144
ce0374a… lmata 145 Returns a summary of nodes and edges created.
ce0374a… lmata 146
ce0374a… lmata 147 ---
ce0374a… lmata 148
ce0374a… lmata 149 ## Python API
ce0374a… lmata 150
ce0374a… lmata 151 ```python
ce0374a… lmata 152 from navegador.ingest import PlanopticonIngester
ce0374a… lmata 153 from navegador.graph import GraphStore
ce0374a… lmata 154
ce0374a… lmata 155 store = GraphStore.sqlite(".navegador/navegador.db")
ce0374a… lmata 156 ingester = PlanopticonIngester(store)
ce0374a… lmata 157
ce0374a… lmata 158 # auto-detect format
ce0374a… lmata 159 result = ingester.ingest("./meeting-output/", input_type="auto", source="arch-review")
ce0374a… lmata 160
ce0374a… lmata 161 print(f"Created {result.nodes_created} nodes, {result.edges_created} edges")
ce0374a… lmata 162
ce0374a… lmata 163 # ingest a specific interchange file
ce0374a… lmata 164 result = ingester.ingest_interchange("./interchange.json", source="sprint-planning")
ce0374a… lmata 165 ```
ce0374a… lmata 166
ce0374a… lmata 167 ### PlanopticonIngester methods
ce0374a… lmata 168
ce0374a… lmata 169 | Method | Description |
ce0374a… lmata 170 |---|---|
ce0374a… lmata 171 | `ingest(path, input_type, source)` | Auto or explicit ingest from path |
ce0374a… lmata 172 | `ingest_manifest(path, source)` | Ingest a manifest.json package |
ce0374a… lmata 173 | `ingest_kg(path, source)` | Ingest a knowledge_graph.json file |
ce0374a… lmata 174 | `ingest_interchange(path, source)` | Ingest an interchange.json file |
ce0374a… lmata 175 | `ingest_batch(path, source)` | Ingest a batch manifest |

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button