infinimind creations

Instruments

Knowledge Graph, an instrument photographed in the dark

Knowledge Graph

288,719text chunks

Books, papers, statutes and code in one graph. Ask a question in plain language, get answers from several fields at once.

since March 2026As of 2 September 2026

The knowledge graph holds what the lab has read and built: textbooks, papers, statutes, its own code. The daily news stream is deliberately not in here; it has a graph of its own. A question is matched by meaning, not by keyword, and the answer usually comes from more than one field. Every night a maintenance pass tidies what came in.

As of 2 September 2026: 288,719 text chunks from 35,172 documents in 157 domains, 274,244 formulas, 25,972 memories, 44 indexed code projects.

What goes in

Snapshot 3 September 2026

Books, papers, statutes and code, each split into chunks and embedded. A document belongs to one of 140 subject areas, from category theory and nonlinear science to law, economics and network ecology. The bar chart shows the largest sixteen; five further areas are private and never leave the machine. The daily news stream is a separate graph with its own page: it changes by the hour, this one by the book. Formulas are pulled from the text layer and given a structural signature; what that signature is good for has its own page.

Largest domains, by text chunks

  • mathematics19,103
  • eve online universe16,227
  • digital law12,783
  • physics11,572
  • mechanistic explanation11,508
  • complex systems11,231
  • category theory10,360
  • cost theory9,271
  • applied mathematics9,093
  • law9,085
  • organisation theory8,355
  • nonlinear science6,997
  • active inference6,947
  • ki buddhismus6,223
  • economics5,661
  • information theory5,453

What the graph is made of

  • entities329,113
  • text chunks288,745
  • formulas274,244
  • variables169,861
  • imports (code)39,590
  • documents35,173
  • memories26,083
  • canonical variables12,558

How it is wired

  • mentions870,864
  • chunk of document288,673
  • alias of81,708
  • contains71,463
  • belongs to domain35,173
  • derived from16,442
  • imports8,669
  • calls7,588

Both on a log scale.

What comes out

A search, and what it returns

“how does active inference relate to the free energy principle”

domaindocumentscore
active inferenceParr, Pezzulo, Friston, Active Inference, Ch.1 Overview0.88
active inferenceactive inference the free energy principle in mind brain and behavior 0.88
active inferenceactive inference parr pezzulo friston part 01 of 090.88
active inferenceactive inference the free energy principle in mind brain and behavior 0.88
active inferenceParr, Pezzulo, Friston, Active Inference, Ch.3 The High Road to Active0.87

Semantic search: the question is embedded and compared with every chunk. The score is cosine similarity.

44 code projects, indexed

knowledge graph servicecompanion-kitevent emittersdefense-intelretinasensoriummath-engineanima-repogeospatial-servicegeospatialagent daemonintegumentsimulation servicework-mode controllerexperiment lab (mtp)ops dashboardpulsenotebook appdeckhandcortex-financedgx-cortexpptx-tools-mcppersistent-agent-memorydocforgeknowledge graph reindexerbackground workerdgx-worker-poolskill libraryevent bus serviceintrospection-servicevidetteknowledge graph service (lab)positronikdgx-permit-clientsoma-servicegraph service infrablaze-servicesphone bridgevidette-briefexperiment labdgx-loaddefense-intel-mcpvidette-telegrammessage broker

Every project the lab writes is indexed into the same graph: files, symbols, imports and calls. A question about the code is answered from the code.

Memory

26,083 memories: decisions, observations, handovers between sessions. What nobody looks up loses weight over time, so the useful entries stay reachable.

One question, several fields

The point of putting textbooks, statutes, papers and source code into one graph is not storage. It is that a question asked in one language gets answered out of subjects that were never filed together.

“how do small local rules produce large scale order without central control”

subject areasourcescore
basal cognitionMind in Life,0.67
complex systemsteam of teams new rules of engagement for a complex world etc par0.67
network ecologyAntifragile - Nassim Nicholas Taleb (Part 2/8)0.66
organisation theoryBrain of the Firm, Teil 1/250.65
mathematicshacking growth by sean ellis pdf0.65
nonlinear sciencescott a encyclopedia of nonlinear science routledge 2004 isbn 15790.63

One query, 6 different subject areas, shown one source per area. Nobody tagged these books as related; the only thing they share is what the sentences mean.

What happens overnight

Reading is cheap. Keeping order is not. A graph that only ever grows turns into a landfill: the same fact under three names, two entries that quietly contradict each other, and thousands of links nobody will follow. So a maintenance pass runs at night, in five stages, each with an output that can be counted.

0 · Measure first

Before anything is touched, the shape of the graph is recorded: how densely it is connected, where it is stretched thin. Without this reading there is nothing to compare against afterwards.

1 · Extract and link

A region of the graph is selected, read against what is already there, and statements are pulled out as separate items. New edges are drawn between nodes that were not connected before. Counted as: insights, relationships.

2 · Compact and contradict

Near-duplicates are merged into one entry. Entries that contradict each other are marked as a contradiction rather than one silently overwriting the other. Material nothing has referenced is pruned. Counted as: merged, contradictions, pruned.

3 · Recombine

The pass forms hypotheses that cross subject areas, writes small scripts to test them, records the design decisions it took as short notes, and saves the graph queries it needed. Counted as: hypotheses, simulations, decision records, queries.

4 · Measure again

The same reading as stage 0, now compared. A run that left the graph worse connected than it found it produces a negative number, and that number is kept rather than dropped.

Every tenth run, the pass attacks the graph

A maintenance routine that only ever confirms what is already there is not maintenance. So every tenth run, stage 2 is replaced: instead of tidying the graph, an engine is pointed at it with the job of finding what is wrong with it. It looks for three things.

Links that are asserted more firmly than the evidence allows. They get proposed for demotion back to "unclear" rather than staying at full confidence because nobody looked again.

Echo chambers. Clusters where more than nine in ten edges point inward: a set of sources that mostly cite each other and look well connected because of it. The proposed remedy is not deletion. It is a bridge outward, into a subject area the cluster never touches.

Inflated nodes. Entries that carry high importance but thin grounding. Either the importance comes down, or evidence goes underneath.

There is also a mode where the whole pass runs and documents what it would do, but writes nothing back. That is how a change to the procedure itself gets tested without the graph being the test subject.

What that looks like: a tool the pass wrote for itself

Not a description. This is 16 lines of graph query that came out of the run on 2026-08-29, written to hunt exactly the problem above. Its own note on what it is for:

Circular Validation Detector - agent-scale echo chamber at graph level (node 5863bdcf). For each MetaInsight, compute the internal density of its evidence subgraph: insights whose supporting sources heavily reference each other are confirmation structures, not independent corroboration.

MATCH (i:MetaInsight)-[e]->(s)
WHERE type(e) IN ['SYNTHESIZES_FROM', 'GROUNDED_IN', 'EXEMPLIFIES_PATTERN',
                  'PROVIDES_EVIDENCE', 'SYNTHESIZED_FROM', 'MERGES_STRUCTURE_FROM']
WITH i, collect(DISTINCT s) AS sources
WHERE size(sources) > 1
UNWIND sources AS a
UNWIND sources AS b
WITH i, sources, a, b WHERE a <> b
OPTIONAL MATCH (a)-[r]-(b)
WITH i, size(sources) AS n_sources, count(DISTINCT r) AS internal_links
RETURN i.name AS insight,
       n_sources,
       internal_links,
       toFloat(internal_links) / toFloat(n_sources * (n_sources - 1)) AS internal_density
ORDER BY internal_density DESC, internal_links DESC
LIMIT 25;

The point of the query is the distinction it draws: a conclusion supported by five sources that mostly cite each other is not five-fold corroboration, it is one source counted five times. That is a structure a graph can be asked about, and this asks.

It does not run every night either. A gate measures pressure first: how many open questions the research side has piled up, and how far the graph has drifted since the last pass. Below the thresholds the run is skipped, and the skip is written down together with the numbers that caused it.