Skip to content

Commit d534e8e

Browse files
committed
docs: adopt the 'ontology is the software' positioning across README, landing page, glossary and concepts
Claude-Session: https://claude.ai/code/session_01VDtqoecgES7ScQYGbFVDRv Co-authored-by: Claude <noreply@anthropic.com>
1 parent 44072fc commit d534e8e

5 files changed

Lines changed: 76 additions & 23 deletions

File tree

‎README.md‎

Lines changed: 26 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,17 +4,25 @@
44
![TypeScript](https://img.shields.io/badge/TypeScript-5.x-blue.svg)
55
[![Docs](https://img.shields.io/badge/docs-objectstack.ai-0a0a0a.svg)](https://objectstack.ai/docs)
66

7-
> ## Apps small enough for AI to hold whole.
7+
> ## The ontology is the software.
8+
>
9+
> **One executable business ontology.** AI writes it, the runtime runs it, agents
10+
> operate it, you own it.
11+
>
12+
> 本体即软件。一份可执行的业务本体。AI 写,运行时跑,Agent 用,归你所有。
813
>
914
> ObjectStack turns the whole app — data model, UI, workflows, permissions —
10-
> into typed metadata that fits in a single context window. Agents read it
11-
> whole, reason it whole, refactor it whole.
15+
> into typed metadata that fits in a single context window: apps small enough
16+
> for AI to hold whole. Agents read it whole, reason it whole, refactor it whole.
1217
>
1318
> That metadata is your **business ontology** — an open, versioned definition of
14-
> your objects, permissions, and flows that you own, not code scattered across a
15-
> framework. Strict TypeScript, Zod schemas, and a validation gate catch the
16-
> agent's mistakes at authoring time; the runtime derives the database, REST API,
17-
> UI, and MCP server, and enforces permissions and audit on every call.
19+
> your objects, relations, actions, permissions, flows, and agent and tool
20+
> definitions that you own, not code scattered across a framework. It is
21+
> executable, not a knowledge-representation ontology: no inheritance, no
22+
> axioms, no reasoner. Strict TypeScript, Zod schemas, and a validation gate
23+
> catch the agent's mistakes at authoring time; the runtime derives the
24+
> database, REST API, UI, and MCP server, and enforces permissions and audit on
25+
> every call.
1826
1927
`Fits in an agent's context` · `Typed, validated, governed` · `Self-host anywhere` · Apache-2.0
2028

@@ -152,7 +160,7 @@ The reason this works is the same reason TypeScript was the right host language:
152160
**an agent's errors become located, corrective text it can read and fix itself**,
153161
in seconds — instead of a silent runtime failure nobody traces back.
154162

155-
The other half is size. The bundled example CRM — [`examples/app-crm`](./examples/app-crm):
163+
The other half is size: apps small enough for AI to hold whole. The bundled example CRM — [`examples/app-crm`](./examples/app-crm):
156164
objects, views, a dashboard, a lead-conversion flow, permission sets, actions,
157165
translations — is small enough for an agent to load end-to-end, reason about
158166
every dependency, and refactor across data, API, UI, and permissions in one
@@ -163,9 +171,18 @@ hoping. Measure it yourself:
163171
find examples/app-crm/src -name '*.ts' -not -name '*.test.ts' | xargs cat | wc -l
164172
```
165173

166-
> Your objects, permissions, and flows are your business ontology — and the
174+
> The ontology is the software. Your objects, relations, actions, permissions,
175+
> flows, and agent and tool definitions are your business ontology — and the
167176
> definition layer of the AI era should be an open protocol you own.
168177
> [Read why](https://www.objectos.ai/en/blog/ai-ontology-open-protocol/).
178+
>
179+
> What that does and does not mean: the ontology is *executable*, so it is
180+
> validated rather than reasoned over — there is no object inheritance, no
181+
> axioms and no reasoner. It is not a semantic layer over your existing systems
182+
> (federating an external datasource is read-only by default and early). Views,
183+
> dashboards, apps, and translations are projections of the ontology, not part
184+
> of it. And code does not disappear: it moves into the runtime — hooks, action
185+
> bodies, CEL, and constrained JSX.
169186
170187
## Your app is AI-operable, for free
171188

‎apps/docs/app/[lang]/page.tsx‎

Lines changed: 17 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ const mono = IBM_Plex_Mono({
3333

3434
const HOME_TITLE = 'Metadata framework for AI-written apps';
3535
const HOME_DESCRIPTION =
36-
'ObjectStack turns the whole app — data model, UI, workflows, permissions — into typed metadata that fits in a single context window.';
36+
'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.';
3737

3838
/**
3939
* The homepage's metadata. Its social card is the shared hero cover,
@@ -212,15 +212,16 @@ export default function HomePage() {
212212
className="mx-auto mt-5 max-w-3xl text-[2.6rem]/[1.06] font-bold tracking-tight text-balance md:text-6xl/[1.04]"
213213
style={{ fontFamily: 'var(--l-display)' }}
214214
>
215-
Apps small enough{' '}
215+
The ontology{' '}
216216
<span className="block bg-gradient-to-r from-indigo-500 to-purple-500 bg-clip-text text-transparent dark:from-indigo-400 dark:to-purple-400">
217-
for AI to hold whole.
217+
is the software.
218218
</span>
219219
</h1>
220220
<p className="mx-auto mt-6 max-w-2xl text-lg text-fd-muted-foreground text-pretty">
221-
ObjectStack turns the whole app — data model, UI, workflows, permissions — into
222-
typed metadata that fits in a single context window. Agents read it whole, reason
223-
it whole, refactor it whole.
221+
One executable business ontology. AI writes it, the runtime runs it, agents operate
222+
it, you own it. The whole app — data model, UI, workflows, permissions — is typed
223+
metadata small enough for AI to hold whole: agents read it whole, reason it whole,
224+
refactor it whole.
224225
</p>
225226
<div className="mt-8 flex flex-wrap items-center justify-center gap-3">
226227
<Link
@@ -294,10 +295,12 @@ export default function HomePage() {
294295
{/* ── what that metadata is, in prose ──────────────────── */}
295296
<section className="relative mx-auto w-full max-w-5xl px-6 pt-12 md:pt-14">
296297
<p className="text-base text-fd-muted-foreground text-pretty">
297-
That metadata is your business ontology — an open, versioned definition you own.
298-
Strict TypeScript, Zod schemas, and a validation gate catch the agent&apos;s mistakes
299-
at authoring time, and the runtime derives the database, REST API, UI, and MCP
300-
server — permissions and audit enforced on every call.
298+
That metadata is your business ontology — an open, versioned definition of your
299+
objects, relations, actions, permissions, flows, and agent and tool definitions that
300+
you own. It is executable, not a knowledge-representation ontology: no inheritance,
301+
no axioms, no reasoner. Strict TypeScript, Zod schemas, and a validation gate catch
302+
the agent&apos;s mistakes at authoring time, and the runtime derives the database,
303+
REST API, UI, and MCP server — permissions and audit enforced on every call.
301304
</p>
302305
</section>
303306

@@ -447,8 +450,10 @@ export default function HomePage() {
447450
<section className="relative mx-auto w-full max-w-6xl px-6 pt-8 pb-20 md:pb-28">
448451
<div className="rounded-xl border border-fd-border bg-fd-card/60 px-6 py-8 text-center md:px-10">
449452
<p className="mx-auto max-w-2xl text-sm text-fd-muted-foreground text-pretty">
450-
Your objects, permissions, and flows are your business ontology — the definition
451-
layer of the AI era should be an open protocol you own.{' '}
453+
The ontology is the software. Your objects, relations, actions, permissions, and
454+
flows are your business ontology — views, dashboards, apps, and translations are
455+
projections of it, and the definition layer of the AI era should be an open
456+
protocol you own.{' '}
452457
<a
453458
href="https://www.objectos.ai/en/blog/ai-ontology-open-protocol/"
454459
className="inline-flex items-center gap-1 font-medium text-fd-foreground underline underline-offset-4 transition-colors hover:text-fd-primary"

‎content/docs/concepts/index.mdx‎

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,11 @@ From this single definition, ObjectStack automatically:
9494
2. **The API is a Consequence** — REST endpoints appear automatically from object definitions
9595
3. **The Schema is the Application** — Your entire business logic lives in metadata files
9696

97+
In the enterprise-AI vocabulary, the ontology is the software: the core (objects,
98+
relations, actions, permissions, flows, agent and tool definitions) is what the runtime
99+
executes, and views, dashboards, apps, and translations are projections of it. See
100+
[Business Ontology](/docs/getting-started/glossary#business-ontology).
101+
97102
### When to Use Metadata-Driven
98103

99104
✅ **Great for:** CRUD apps, SaaS platforms, admin panels, rapid prototyping, multi-tenant systems

‎content/docs/concepts/metadata-driven.mdx‎

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -151,6 +151,14 @@ Your entire business logic lives in:
151151

152152
The Kernel simply **interprets** these definitions.
153153

154+
In the enterprise-AI vocabulary, the ontology is the software. The ontology core is
155+
objects, relations, actions, permissions, flows, and agent and tool definitions; views,
156+
dashboards, apps, and translations are projections of it, not ontology. The ontology is
157+
executable, so it is validated rather than reasoned over — there is no inheritance, no
158+
axioms and no reasoner — and code does not disappear, it moves into the runtime (hooks,
159+
action bodies, CEL, constrained JSX). See
160+
[Business Ontology](/docs/getting-started/glossary#business-ontology).
161+
154162
### 4. The Tool Surface is Generated
155163

156164
**Traditional:** Every AI tool is manually described and wired to custom queries

‎content/docs/getting-started/glossary.mdx‎

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -91,8 +91,20 @@ arrived from that vocabulary, this is the term's referent here: the **Source** y
9191
which the runtime derives the database schema, REST API, UI, and MCP server. See
9292
[Metadata-Driven Development](/docs/concepts/metadata-driven).
9393

94-
The word is worth stating explicitly because ObjectStack's differs from the hosted
95-
ontologies the category otherwise means by it, on two points:
94+
The slogan this reduces to is **the ontology is the software**, and the word is worth
95+
stating explicitly because ObjectStack's differs from what the term otherwise means, in
96+
two directions.
97+
98+
**Against a knowledge ontology** (OWL, RDF, a knowledge graph): a knowledge ontology
99+
*describes* a domain, is read-only to the systems that consult it, and is *reasoned over*
100+
by an inference engine. An executable ontology *defines* the app, is *run* by the
101+
runtime, and is *validated* rather than reasoned. ObjectStack has no object inheritance,
102+
no axioms and no reasoner (the `abstract` key was removed from the spec for exactly that
103+
reason, ADR-0049), and it is not a semantic layer over your existing systems —
104+
federating an external datasource is read-only by default and early (see
105+
[External Datasources](/docs/data-modeling/external-datasources)).
106+
107+
**Against a hosted ontology** (a graph held inside a vendor's system), on two points:
96108

97109
* **You own the definition.** It lives in your repository as ordinary TypeScript,
98110
versioned in your VCS and reviewable as a diff, in a format specified and licensed
@@ -104,6 +116,12 @@ ontologies the category otherwise means by it, on two points:
104116
of behaviour implemented somewhere else, so it cannot drift from the system it
105117
describes.
106118

119+
**Core and projections.** The ontology core is objects, relations, actions,
120+
permissions, flows, and agent and tool definitions. Views, dashboards, apps,
121+
translations, and themes are *projections* of that core — authored in metadata too, but
122+
not ontology. And code does not disappear: it moves into the runtime, as hooks, action
123+
bodies, CEL expressions, and constrained JSX.
124+
107125
Distinct from **semantic layer**, which in these docs means the narrower analytics
108126
`dataset` layer (ADR-0021) that reports and dashboards bind to — see
109127
[Analytics & Datasets](/docs/data-modeling/analytics).

0 commit comments

Comments
 (0)