Open protocol & runtime · Apache-2.0

The ontology is the software.

One executable business ontology. AI writes it, the runtime runs it, agents operate it, you own it. The whole app — data model, UI, workflows, permissions — is typed metadata small enough for AI to hold whole: agents read it whole, reason it whole, refactor it whole.

Why the ontology is the software

ExecutableAI-writableAgent-operableYou own it
▶ ObjectStack in 90 SecondsMore videos on YouTube

That metadata is your business ontology — an open, versioned definition of your objects, relations, actions, permissions, flows, and agent and tool definitions that you own. It is executable, not a knowledge-representation ontology: no inheritance, no axioms, no reasoner. Strict TypeScript, Zod schemas, and a validation gate catch the agent's mistakes at authoring time, and the runtime derives the database, REST API, UI, and MCP server — permissions and audit enforced on every call.

00 · The idea

An ontology written clearly enough runs directly

The ontology runsA large model writes the ontology from a sentence of business language, and what is written wrong does not ship. People define it, approve it, and verify it in the UI. The ontology is what the enterprise is: what we have, how it relates, what can be done, who may do it, and what happens when. The runtime runs the definition directly, and every call is permission-checked and audited. An agent, any agent from any vendor, calls the runtime. The database, the API, the UI and the tools agents call are all derived from it.Large modelWrites it from asentence of businesslanguage. Wrong, itdoes not ship.PeopleDefine it,approve it,verify it in the UI.writes itdefines itOntologywhat the enterprise is:what we have · how it relateswhat can be done · who may do itwhat happens whenruns directlyRuntimeRuns the definition directly; every callis permission-checked and auditedAgentAny agent,any vendorcalls itderived from itDatabaseAPIUIToolsagents call
The ontology is not the design document for the software; the runtime runs it directly.

An enterprise is definition plus execution. When execution is nearly free, it is its definition.

What the model lacks is not intelligence: a world, hands, and a fence.

An ontology written clearly enough is software. Models change; the ontology stays.

Read the essay
01 · The loop

From requirement to running app

01

Create a project

npx create-objectstack my-app

A typed project skeleton — spec, seed data, and the Console already wired.

02

Describe the requirement

claude · os validate ✓

Tell Claude Code what the business needs. It writes compact typed metadata, and the validation gate rejects anything that would fail silently.

03

Preview in the browser

os dev

The Console renders it live — records, boards, dashboards. Requirement changed? Same loop: describe, validate, preview.

you → claude code

“Build an expense approval app for a 50-person team.”

expense.object.ts

+export const Expense = ObjectSchema.create({
+ name: 'expense_request',
+ fields: {
+ amount: Field.currency({ required: true }),
+ status: Field.select({ options: [...] }),
+ approver: Field.lookup('sys_user'),
+ },
+});
os validatetypes · permissions · flowsos devConsole preview
one definition → tables · REST API · Console UI · MCP tools
02 · The gates

Four gates between the agent and production

01

Typed

Strict TypeScript + Zod — shape errors die in the editor, seconds after the agent writes them.

02

Validated

os validate rejects metadata that would fail silently at runtime — before it ships.

03

Reviewed

You approve a small readable diff in the Console — not a pile of generated glue.

04

Governed

Permissions and audit are enforced by the runtime on every call. Even a wrong app stays inside the fence.

03 · The vocabulary

What can it actually build?

Point an agent at an empty repo and you get a one-off codebase — every screen hand-invented, every mistake yours to find at runtime. ObjectStack gives the agent a vocabulary instead: typed, validated primitives for everything enterprise software needs. The agent composes the definition; the runtime already knows how to run it.

object
Objects & fields — Typed schemas with relations, validation, formulas, and files.
permission
Permissions — RBAC plus row- and field-level security, enforced by the runtime.
flow
Automation — DAG flows, record triggers, scheduled jobs, and webhooks.
approval
Approvals — Multi-step approval chains with queues and a full audit trail.
view
Views — Lists, kanban boards, calendars, gantt, galleries — declared, not coded.
dashboard
Dashboards & reports — Charts, aggregations, and KPIs bound to live data.
action
Actions — Permission-checked buttons and server operations.
api
APIs & SDK — Generated REST and realtime endpoints with a typed client SDK.
mcp
AI tools — Every object and action doubles as a governed MCP tool.
i18n
Translations — Labels and UI text as metadata, per locale.
seed
Seed data — Fixtures and demo datasets that ship with the app.
driver
Datasources — Postgres, MySQL, SQLite, MongoDB, or in-memory.
Browse the full vocabulary in the docs

The ontology is the software. Your objects, relations, actions, permissions, and flows are your business ontology — views, dashboards, apps, and translations are projections of it, and the definition layer of the AI era should be an open protocol you own.

ObjectStack is build & ask with Claude Code. Rather build & ask online — in the browser, nothing to install? Try ObjectOS