Skip to content

Commit 8535292

Browse files
committed
docs(blog): correct four overstated capability claims flagged by the audit
1 parent a1239c0 commit 8535292

1 file changed

Lines changed: 17 additions & 11 deletions

File tree

website/src/pages/blog/atmosphere-4x-ai.astro

Lines changed: 17 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -182,8 +182,8 @@ const swapSnippet = `<!-- Built-in OpenAI-compatible client by default — no
182182
— allow/deny lists, authorization, rate-limit, concurrency-limit,
183183
message-length, time-window, a kill switch — and a denied request is
184184
rejected and recorded to a decision audit log. It's opt-in: out of the box
185-
the gateway is permissive and logs a startup warning telling you to install
186-
an enforcing one for production, so you turn governance <em>on</em> rather
185+
the gateway is permissive and logs a warning on the first call telling you to
186+
install an enforcing one for production, so you turn governance <em>on</em> rather
187187
than discovering it was off.
188188
</p>
189189
<p>
@@ -207,8 +207,10 @@ const swapSnippet = `&lt;!-- Built-in OpenAI-compatible client by default — no
207207
</p>
208208
<p>
209209
You write those policies programmatically, or — if you'd rather keep them
210-
declarative — in <strong>AWS Cedar</strong> or <strong>OPA Rego</strong>
211-
(<code>ai-policy-cedar</code>, <code>ai-policy-rego</code>). And the decision
210+
declarative — in <strong>AWS Cedar</strong> or <strong>OPA Rego</strong> via
211+
adapters over the engines' own CLIs (<code>ai-policy-cedar</code>,
212+
<code>ai-policy-rego</code>; you install the <code>cedar</code> or
213+
<code>opa</code> binary). And the decision
212214
log isn't only in memory: point it at <strong>Kafka</strong> or
213215
<strong>Postgres</strong> (<code>ai-audit-kafka</code>,
214216
<code>ai-audit-postgres</code>) and every admit and deny is persisted for the
@@ -349,8 +351,9 @@ const swapSnippet = `&lt;!-- Built-in OpenAI-compatible client by default — no
349351

350352
<h2>Bring an agent you already have: OpenClaw-compatible</h2>
351353
<p>
352-
An agent doesn't have to be Java to run here. Atmosphere treats an agent as an
353-
artifact — a directory of Markdown — and reads the
354+
An agent's persona doesn't have to be written in Java. Atmosphere treats an
355+
agent as an artifact — a directory of Markdown — that a small Java
356+
<code>@Agent</code> host loads, reading the
354357
<strong>OpenClaw</strong> canonical workspace layout directly:
355358
<code>AGENTS.md</code>, <code>SOUL.md</code>, <code>USER.md</code>,
356359
<code>IDENTITY.md</code>, and the <code>skills/</code> tree. Point Atmosphere at an
@@ -397,19 +400,22 @@ const swapSnippet = `&lt;!-- Built-in OpenAI-compatible client by default — no
397400
One principle shaped the whole design: a runtime only advertises a capability
398401
it actually performs. Each adapter's capability set — drawn from a vocabulary of
399402
twenty-one — is pinned by a contract test, so an adapter's <code>capabilities()</code> can't
400-
claim a feature the bytecode doesn't do. When I added native structured
403+
silently drift from what it declares, and the built-in runtime's native
404+
paths are checked behaviorally. When I added native structured
401405
output, the three runtimes whose wire protocol has no schema field simply
402-
don't declare it — saying otherwise is a lie the build won't let me ship. If
406+
don't declare it. If
403407
you've been burned by frameworks that promise more than they deliver,
404408
that's the part I cared about most.
405409
</p>
406410

407411
<h2>Try it</h2>
408412
<p>
409413
Getting started is one dependency. Add
410-
<code>atmosphere-spring-boot-starter</code> and a single
411-
<code>@Agent</code>-annotated class is a running, streaming chat app —
412-
the starter auto-configures the framework, the AI pipeline, and the Console.
414+
<code>atmosphere-ai-spring-boot-starter</code> and a single
415+
<code>@Agent</code>-annotated class is a running, streaming chat app — it
416+
pulls the transport, the AI pipeline, and the agent layer, and auto-configures
417+
the framework and the Console. (Transport only, no AI? Use the lean
418+
<code>atmosphere-spring-boot-starter</code>.)
413419
Prefer to scaffold? The CLI does it in one line —
414420
<code>atmosphere new my-app --template ai-chat</code>, then
415421
<code>./mvnw spring-boot:run</code>. The CLI exposes thirteen starters —

0 commit comments

Comments
 (0)