pgraph = property graph · Code. Data. Knowledge.

AI writes code faster
than your team can check it.

pgraph checks every AI change against your code, your data and your team's decisions before merge. Deterministically, not by another model's opinion. And Rabotnik, the AI team that runs on the graph, cuts the token bill in half.

The problem

AI-assisted development breaks in four predictable places.

Teams adopt AI agents for speed. Within months the bottleneck moves to review, and the failures that reach production are the ones no test was written for.

How we solve it

AI does the work. The graph does the checking. You decide.

Task

You describe what you need in the chat or a ticket.

Rabotnik builds

Spec, code and tests, on your models.

Graph checks

Code and data rules run on the change, deterministically.

You approve

A clean change with evidence, ready to merge.

Why deterministic

A second model reviewing the first one shares its blind spots. A graph query gives the same answer every time and shows its reasoning as a path you can open.

Why inference, not seats

AI work scales with tasks, not headcount. You pay for what the agents actually compute, on the provider or the hardware you choose.

What is a property graph

Nodes, edges, and properties on both.

A function calls a function. A service reads a table. A task changes a module. When everything lives in one graph, "what breaks if I change this?" is answered by a query, not by a guess.

Node

Things

Functions, modules, tables, columns, queries, tasks, pull requests.

Edge

Relations

Calls, imports, reads, writes, depends on, changed by.

Property

Facts

Complexity, owner, size, type, sensitivity, last change, who approved it.

Products

Three graphs, one AI team.

Your code, your data and what your team knows live in one property graph. Rabotnik, the AI team, works on top of it, and the graph checks every change it makes.

Code Property Graph →

Closes: green tests, broken architecture

AI development under control

fn —calls→ fn · module —imports→ module

A deterministic graph of your code (GoCPG, CodeGraph). The engine computes the findings, not an LLM.

  • Who calls this function, where it is used
  • Complexity and size hot spots
  • Architecture rules in YAML, checked on every PR
  • One more check in your CI
Bring your own agent: AI writes only the rule profile.
Data Property Graph →

Closes: migrations that break what reads the data

The same discipline for data

code —writes→ table · query —reads→ column

Schemas, relations and lineage in one graph, native to Postgres. Built by the Postgres Pro team.

  • Which code reads and writes which table
  • AI-generated SQL and migrations checked before rollout
  • Impact of a schema change, before you make it
Early access: we are onboarding design partners.
Knowledge Graph →

Closes: agents that forget what was decided

A memory that knows why

decision —supersedes→ decision · ticket —touches→ fn

Decisions, tickets, people, commits and conversations, linked by typed edges. Before an agent acts, it asks the graph what was already decided.

  • What was decided, by whom and why
  • Context by entity, not top-k similar text
  • Linked to the code and data graphs
One memory for every model: Opus, GPT, a local Qwen.
Rabotnik →

Closes: invisible AI spend and the review bottleneck

An AI dev team in Slack and your tracker

task —becomes→ PR —checked by→ graph

Orchestrator, executors and reviewers that take a ticket to a reviewed change. Every change is checked against the graph before merge.

  • Runs on your inference, local models included
  • Lives in Slack, Mattermost or Telegram, next to Jira and Confluence
  • Spec, code, tests, review, ready for your approval
Pay for inference, not for seats.
✓ 412 tests passed
✗ architecture rule failed: ui/ must not import db/

Tests pass. The architecture rule fails. That is the moment we exist for.

Code Property Graph

Cut the cost of development and the risk of missed deadlines.

AI executors write requirements, plans, code, tests and docs. The code graph checks architecture, security and quality on every change. Management sees deadlines, dependencies, risks and release readiness across the whole portfolio, not per team.

~30%of internal development projects run over time or budget, say almost half of IT leaders
10 / 20 / 30–40%smaller team for the same scope: conservative, base and target pilot scenarios
3–4×fewer tasks that miss their deadline: the target we measure in a pilot

Task to code to release

Five managed stages: goal and acceptance criteria, plan with affected systems, execution by people and AI, automated checks, a release decision with visible risks.

Risk inside real code paths

Calls, imports, data access and ownership in one graph. The question "what does this change touch?" gets an answer with a path you can open, not an estimate.

Fits the stack you have

Git, your tracker, CI/CD, test systems, documentation and the AI assistants your engineers already use. One more check in the pipeline, not a new platform to migrate to.

CPO and CTOEngineering orgs of 80–300 peoplePortfolio and release ownersAppSec and architecture

Scenario figures are pilot hypotheses, measured on your repositories before any commercial commitment.

Data Property Graph

Database migrations without blind spots.

Moving off Oracle, splitting a processing contour by geography, leaving Greenplum for Greengage or Cloudberry: the risk is not in the data volume, it is in the dependencies nobody has mapped. We put schemas, code, queries and data flows into one graph and check every step of the migration against it.

Before

Map what will break

Which application code, procedures, reports and ETL jobs read and write each table and column. Dead objects, hidden coupling, the order in which contours can be cut over.

During

Check every change

AI rewrites PL/SQL and queries and generates migrations. The graph checks them before rollout: type and semantic mismatches, broken lineage, replication and CDC paths that would lose data.

After

Keep it governed

Every schema change shows its impact before it is made. Analytical agents work on top of the graph and bring back answers, not raw dumps, with a path to the source.

Where the money is

Banks and large enterprises are moving core contours to Postgres: terabytes of updates a day, analytics with no more than a day of lag, zero tolerance for downtime or data loss. These programs are budgeted in the hundreds of millions to billions of rubles, and most of the cost is risk and rework.

Why us

The team comes from Postgres Pro and Yandex Managed PostgreSQL and has taken part in large bank migrations to Postgres Pro first-hand. We know how these projects fail and where the graph saves weeks.

CDTO and CDOOracle to Postgres programsGreenplum to Greengage / CloudberryData platform and DWH teams

Early access: we are taking two or three design partners with an active migration program.

Knowledge

A memory that remembers why, not just what.

Rabotnik keeps what the team knows as a graph: tickets, decisions, people, commits, code and conversations, linked by typed edges. Before an agent proposes something, it asks the graph what was already decided, by whom and why.

decision —supersedes→ decision · ticket —touches→ fn · ruling —said by→ owner
Decisions

Decisions with history

Every decision is a node with an author, a date and the decision it replaces. An agent that is about to bring back something the team already rejected finds that out from a query, not from you.

Context

Context by entity

Open a ticket and the agent gets what is linked to it: the spec, reviews, rulings, related commits and the conversations where it was discussed. Neighbours in the graph, not the top-k most similar paragraphs.

Code

Linked to the code graph

Tickets and decisions point to functions and modules in the Code Property Graph. "Why is this code like this?" leads to the ticket, the review and the chat where it was agreed.

Outlives the context window

Memory lives outside the model. Opus, GPT and a local Qwen read the same graph, and after a context compaction the agent restores the working set from it instead of starting over.

Who said it matters

Only the orchestrator writes; executors and reviewers read. A rule is attributed: what the owner said in the chat is kept apart from what a model wrote into a ticket, so agents do not obey rules nobody gave.

Rabotnik

An AI team that halves your token bill.

Orchestrator, executors and reviewers take a ticket from spec to a reviewed change, in Slack, Mattermost or Telegram, connected to Jira, Confluence and your CI. The difference from a vendor IDE agent is the economics: every token is accounted for, budgeted and routed to the cheapest model that can do the step.

Granular token accounting

Every call is attributed to a ticket, a stage, a role and a model: input, output, cache reads and writes separately. You see what a feature cost, not just the monthly invoice.

Budgets and soft throttling

Limits per team, project and task. Near the limit Rabotnik compacts the session, switches to a cheaper model or pauses, instead of failing mid-task. FinOps for inference.

Fewer tokens per task

Sessions are compacted and kept warm in the prompt cache, so a repeat costs a cache read. With the code graph the agent reads the nodes it needs instead of whole files.

T-724, real run role model input cache output API $ spec spec-writer Opus 5.5 234k 666k 107k 3.21 execute executor Haiku 4.5 608k 3.22M 236k 2.11 execute executor local Qwen 326k 722k 218k 0.00 execute executor GLM-5.3 Flash 41k 63k 13k 0.01 review reviewer Sonnet 5.5 249k 259k 36k 0.91 orchestrate orchestr. GPT-6 Luna 404k 4.05M 76k 0.12 Rabotnik, total 1.86M 8.99M 685k 6.36 same tokens, all on Opus 5.5 22.96 same tokens, all on GPT-6 Sol 12.38

The right model for each step

A frontier model writes the spec and reviews; a cheaper or local model executes. A vendor harness keeps every step on its own models. Rabotnik is not tied to a vendor: Anthropic, OpenAI, open-weight models on your own GPUs, in one task.

Pay for inference, not seats

AI work scales with tasks, not headcount. One inference budget for the team, on the provider or hardware you choose, inside your perimeter if needed.

2x cheaper than the cheapest single frontier model, 3.6x cheaper than Opus alone. Real ledger of one ticket from our own pipeline (T-724, October 2026), priced at public API list rates. Rabotnik: $6.36. The same tokens on Opus 5.5 alone: $22.96 (3.6x), on GPT-6 Sol alone: $12.38 (1.9x). The local Qwen runs on our own GPU and costs no API fee. A single frontier model may need fewer retries, so in the pilot we measure the same task both ways.

Team

From Postgres Pro, building for AI-era engineering.

AK

Alexander Kotin

Rabotnik. Infrastructure and AI harnesses. Postgres Pro core team.

MS

Mikhail Savin

GoCPG and CodeGraph. Code analysis and code property graphs. Postgres Pro, Yandex Managed PostgreSQL.

KS

Konstantin Solovyev

Business and partnerships. Pilots and enterprise sales.

Pilot

Run it on your repository.

We run a pilot on your code and your inference and show what the graph finds that your tests do not.

Interested in