The Big Picture

Your codebase,
mapped as a graph.

Every function, class, route, and data model in your code becomes a node. Every call, import, and dependency becomes an edge. The result is a living knowledge graph that shows exactly how everything connects — and what breaks when you change anything.

100%deterministic

Structural Truth

The graph is built from your source code parsing — no guessing, no hallucinations. If your code says A calls B, the graph shows it exactly.

<50msgraph update latency

Real-Time Sync

A file watcher detects saves instantly using OS-native events. The graph updates within milliseconds. Impact scores are recalculated automatically.

0 AIcalls for structural check

Impact Without LLM

When a function signature changes, the diffing engine mathematically determines which downstream callers break — pure arithmetic, no AI needed.

Node Types & Edges

The Knowledge Graph

Click any node to understand what it represents and how it connects to the rest of the graph.

Moduleroutes.pyFunctionget_user(id)ClassPaymentServiceRouteGET /usersDataModelUser (ORM)
CONTAINS
CALLS
HANDLED_BY
EXTENDS
READS_FROM
WRITES_TO

Click any node on the diagram to learn what it represents and how it connects.

From Save to Graph

The Pipeline

Every time you save a file, six things happen in under a second. Click each step to see what's going on under the hood.

← Click any step to see exactly what happens

Who Decides What Breaks

Impact Scoring

Every connection between functions carries a score. The machine handles structural detection — humans and AI handle the final verdict.

1.0

Hard Impact

Detected by machine — Requires Human or AI to close

A structural resource was deleted or fundamentally altered across a boundary—such as a database column being dropped, or an external API route changing its path. Compilers miss this, but the graph catches the severed edge.

demiourgos CLI

$demiourgos scan --workspace
✖ STRUCTURAL BREAK DETECTED
File: backend/models/user.py
- email = Column(String)
+ # email column dropped
⚠ IMPACT REPORT:
The email column was removed.
Flagging 14 downstream functions trying to READS_FROM this field. They will now crash.
Status: Impact ticket created (Score: 1.0)

Live Impact Playground

Edit the code on the left directly, or click a preset below. Watch Demiourgos instantly calculate the blast radius and prune the context!

services/tax.ts
Source Focus
Downstream Callers (Raw Files)Read Only
// 📁 cart/checkout.ts
import { db } from '../db';
import { calculateTax } from '../services/tax';
import { sendEmail } from '../services/email';
import { getSession } from '../auth';

export async function processOrder(cartTotal: number, user: User, items: CartItem[]) {
  // 1. Authenticate user session
  const session = await getSession(user.id);
  if (!session.isValid) throw new Error("Invalid session");

  // 2. Validate inventory levels
  for (const item of items) {
    const inStock = await db.checkInventory(item.id);
    if (!inStock) throw new Error("Out of stock");
  }

  // 3. Calculate taxes based on regional definitions
  const tax = calculateTax(cartTotal, user.state);
  
  // 4. Finalize total and charge card
  const finalTotal = cartTotal + tax;
  const receipt = await db.chargeCard(user.paymentMethod, finalTotal);

  await sendEmail(user.email, "Confirmed", receipt);
  return finalTotal;
}

// 📁 reports/invoice.ts
import { db } from '../db';
import { calculateTax } from '../services/tax';
import { loadTemplate, generatePDF } from '../utils/pdf';

export async function generateInvoice(item: Item, region: string) {
  const locale = await db.getUserLocale(item.userId);
  const pdfTemplate = loadTemplate('standard', locale);
  
  const finalTax = calculateTax(item.price, region);
  
  const total = item.price + finalTax;
  const doc = await generatePDF(pdfTemplate, { item, total });
  await db.saveInvoiceRecord(item.id, doc, total);
Pruned Context
No Impact
Graph validates perfectly.
No broken downstream dependencies.

Disclaimer: This sandbox is a highly simplified conceptual demonstration. In a live production environment, the Demiourgos parsing engine utilizes a vastly more complex matrix of parameters, and multi-file semantic bounds to calculate true deterministic impact scores.

Who Can Change What

AgentHard → Soft
(1.0 → 0.1)
Can Resolve
(→ 0.0)
How
🤖 Machine (Auto-detect)✓ Yes✗ NeverValidates structural integrity. Detects TS type mismatches, missing exports, and argument counts. Score drops to 0.1 automatically.
🤖 AI / LLM Agent✓ Yes✓ YesPOST /graph/impact/context with ai_context + status=RESOLVED after logical analysis.
👤 Human Developer✓ Yes✓ YesPOST /graph/impact/context with human_context + status=RESOLVED after manual review.

© 2026 Demiourgos System — Documentation