Skip to content

Commit 352c97d

Browse files
committed
docs(readme): restructure on the four promises
The hero is the slogan, the descriptor, the Chinese signature line and one proof line; the chip row is the four promises plus the licence. The ontology paragraph with its caveat moves out of the hero into "What we mean by ontology", right before the capability section. Sections are reordered on the slogan's spine: Try it in five minutes, What we mean by ontology, The runtime runs it (was "What one definition gives you"), Agents are the first users (was "Your app is AI-operable, for free", moved up), Why the mistakes don't ship, You own it (the LICENSING sentence and the blog quote consolidated), Ship it, Hack on the framework. No page in content/docs or apps/docs links a renamed README anchor (measured: zero hits). Claude-Session: https://claude.ai/code/session_011hRnra93sK5Q2gTYYTbdJR Co-authored-by: Claude <noreply@anthropic.com>
1 parent 619ea3b commit 352c97d

1 file changed

Lines changed: 47 additions & 45 deletions

File tree

‎README.md‎

Lines changed: 47 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -9,22 +9,11 @@
99
> **One executable business ontology.** AI writes it, the runtime runs it, agents
1010
> operate it, you own it.
1111
>
12-
> 本体即软件。一份可执行的业务本体。AI 写,运行时跑,Agent 用,归你所有。
12+
> 本体即软件。
1313
>
14-
> ObjectStack turns the whole app — data model, UI, workflows, permissions —
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.
17-
>
18-
> That metadata is your **business ontology** — an open, versioned definition of
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.
14+
> Apps small enough for AI to hold whole.
2615
27-
`Fits in an agent's context` · `Typed, validated, governed` · `Self-host anywhere` · Apache-2.0
16+
`Executable` · `AI-writable` · `Agent-operable` · `You own it` · Apache-2.0
2817

2918
<p align="center">
3019
<a href="https://youtu.be/CX_FlOoOtr0">
@@ -34,11 +23,9 @@
3423
<a href="https://youtu.be/CX_FlOoOtr0"><b>▶&nbsp; Watch: ObjectStack in 90 Seconds</b></a>
3524
</p>
3625

37-
**Everything in this repo is the open stack** — protocol, microkernel, SDK,
38-
CLI, and the production runtime, Apache-2.0 with no open-core asterisks
39-
([LICENSING.md](./LICENSING.md)). You build & ask with Claude Code or any coding
40-
agent: the agent writes the metadata in your repo and operates the running app
41-
over MCP. Want the same loop hosted, in the browser, nothing to install? That's
26+
You build & ask with Claude Code or any coding agent: the agent writes the
27+
metadata in your repo and operates the running app over MCP. Want the same loop
28+
hosted, in the browser, nothing to install? That's
4229
[ObjectOS](https://www.objectos.ai), the commercial runtime environment built on
4330
this stack.
4431

@@ -87,7 +74,21 @@ No install at all? Open a live app on
8774
</p>
8875
<p align="center"><sub>Prefer clicking? Studio authors the same metadata visually — same artifacts, same gate.</sub></p>
8976

90-
## What one definition gives you
77+
## What we mean by ontology
78+
79+
Your app's definition — objects and fields, relations, actions, permissions,
80+
flows, and agent and tool definitions — is a **business ontology**: open,
81+
versioned, and yours, not code scattered across a framework. It is executable,
82+
not a knowledge-representation ontology: no inheritance, no axioms, no reasoner —
83+
validated rather than reasoned over — and it is not a semantic layer over your
84+
existing systems (federating an external datasource is read-only by default and
85+
early). Views, dashboards, apps, and translations are projections of the
86+
ontology, not part of it, and code does not disappear: it moves into the
87+
runtime, as hooks, action bodies, CEL, and constrained JSX. The full account is
88+
[Business Ontology](https://objectstack.ai/docs/concepts/ontology); the short
89+
form is the [glossary entry](https://objectstack.ai/docs/getting-started/glossary#business-ontology).
90+
91+
## The runtime runs it
9192

9293
Point an agent at an empty repo and you get a one-off codebase: every screen
9394
hand-invented, every mistake yours to find at runtime. ObjectStack gives the
@@ -144,6 +145,24 @@ curl http://localhost:3000/api/v1/data/support_desk_ticket
144145
In the browser, the typed client SDK and React hooks (`useQuery`, `useMutation`,
145146
`usePagination`) live in [`@objectstack/client-react`](packages/client-react).
146147

148+
## Agents are the first users
149+
150+
Objects are tools, actions are tools, permissions decide what an agent may call,
151+
and audit records what it did. Because the app is typed metadata, the runtime
152+
serves it as an **MCP server** at `/api/v1/mcp` — on by default. Point any MCP
153+
client at it and an agent can inspect and *operate* the app you just built,
154+
under the same permissions and RLS as a human:
155+
156+
```bash
157+
claude mcp add --transport http my-app http://localhost:3000/api/v1/mcp
158+
```
159+
160+
The first tool call opens a browser to sign you in — each deployment is its own
161+
OAuth server, so there's no token to copy-paste. Headless setups (CI,
162+
containers) use an API key instead. Objects are exposed automatically; actions
163+
opt in with `ai: { exposed: true }`. See
164+
[Connect an MCP Client](https://objectstack.ai/docs/ai/connect-mcp) for both flows.
165+
147166
## Why the mistakes don't ship
148167

149168
"AI writes it" is only useful if AI's mistakes don't reach production. Four gates
@@ -171,35 +190,18 @@ hoping. Measure it yourself:
171190
find examples/app-crm/src -name '*.ts' -not -name '*.test.ts' | xargs cat | wc -l
172191
```
173192

193+
## You own it
194+
195+
**Everything in this repo is the open stack** — protocol, microkernel, SDK,
196+
CLI, and the production runtime, Apache-2.0 with no open-core asterisks
197+
([LICENSING.md](./LICENSING.md)). The definition lives in your repository as
198+
ordinary TypeScript, versioned in your VCS and reviewable as a diff — not a
199+
graph held inside a vendor's system.
200+
174201
> The ontology is the software. Your objects, relations, actions, permissions,
175202
> flows, and agent and tool definitions are your business ontology — and the
176203
> definition layer of the AI era should be an open protocol you own.
177204
> [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.
186-
187-
## Your app is AI-operable, for free
188-
189-
Because the app is typed metadata, the runtime serves it as an **MCP server** at
190-
`/api/v1/mcp` — on by default. Point any MCP client at it and an agent can
191-
inspect and *operate* the app you just built, under the same permissions and RLS
192-
as a human:
193-
194-
```bash
195-
claude mcp add --transport http my-app http://localhost:3000/api/v1/mcp
196-
```
197-
198-
The first tool call opens a browser to sign you in — each deployment is its own
199-
OAuth server, so there's no token to copy-paste. Headless setups (CI,
200-
containers) use an API key instead. Objects are exposed automatically; actions
201-
opt in with `ai: { exposed: true }`. See
202-
[Connect an MCP Client](https://objectstack.ai/docs/ai/connect-mcp) for both flows.
203205
204206
## Ship it
205207

0 commit comments

Comments
 (0)