Why this is the first ICNLI AI Cloud OS
A precise definition of the first ICNLI AI Cloud OS: the six kernel-property test, named-alternative scoring, and a falsifiable claim of priority by ICNLI.
This page makes a precise claim and gives the receipts. If you came here from marketing copy and want to know whether the words mean anything, read in order โ every property is testable, every comparison is verifiable against the linked alternative's public docs.
What "AI Cloud OS" actually means
An operating system is the software layer that mediates between user intent and shared compute โ it owns the contract for how programs are invoked, how permissions are checked, how state is isolated, how failure is contained, and how everything is audited. The OS is the trusted boundary; user programs are extensions of it.
A traditional OS โ Linux, Windows, macOS โ does this for CPU, RAM, filesystem, network. User intent comes in as syscalls; the kernel mediates.
An AI Cloud OS does the same thing for a different input/output pair:
Input: natural-language intent from a human user Output: trusted, isolated, audited, recoverable distributed compute against shared data
It is not the same problem as scheduling threads on a CPU. It is the same role โ owning the contract.
A platform deserves the label "AI Cloud OS" if and only if it implements the six classical kernel properties for this new I/O pair.
The six-property test
A kernel โ by the definition every CS textbook agrees on โ owns:
| # | Classical kernel job | The web-kernel's equivalent |
|---|---|---|
| 1 | System-call dispatch โ translate user intent into a privileged operation | Intent classification โ translate natural-language messages into typed handler dispatches with confidence, plan steps, and chain dependencies |
| 2 | Process / memory isolation โ keep one program's state from leaking into another's | Per-(user, tenant, extension) isolation at the platform boundary, federally enforced โ not a library convention |
| 3 | Permission check before side-effects โ UID / capability / ACL gating | Federal authorization โ RBAC scopes + tenant scope + confirmation policy + action-type rules checked before extension code runs |
| 4 | Standardised programming interface โ POSIX, Win32 โ one contract every program respects | Federal Extension Contract โ manifest schema v3 + 11 ERROR-severity validators + typed ctx injection. Every extension respects it or doesn't ship |
| 5 | Asynchronous lifecycle management โ scheduler, interrupts, deadline handling | Web-kernel-owned async lifecycle โ short calls inline, long calls auto-promoted to detached tasks, heartbeats tracked, cancellations propagated, results auto-delivered to the chat surface |
| 6 | Kernel log / audit โ kmsg, journald, dtrace at the trusted layer | Federal audit chokepoint โ every action lands in the action ledger with retention class and tenant scope. Enforced at the boundary, not by author policy |
The claim is simple: a platform deserves the label "AI Cloud OS" iff it implements all six. Pick any one a platform misses and the analogy breaks down โ it's a library, a SaaS product, or a UI wrapper. Not an OS.
What other platforms do NOT do
Each comparison below cites the alternative's own public documentation. You can verify in five minutes.
OpenAI function calling / "GPTs" / "Apps"
A tool-use protocol with a hosted-UI marketplace. What it has: schema for declaring function signatures the model can call; a Chat UI; a publishing flow.
Of the six properties: ยฝ โ it gives you (1) intent-to-function-call dispatch via the model. It does not give you (2) cross-author tenant isolation enforced at the platform layer; (3) a permission model that gates side-effects before the function runs; (4) a publish-time validator gate; (5) an async lifecycle for ops longer than the chat-completion timeout; (6) an audit chokepoint accessible to the tool author. The tool author owns all of those themselves.
Anthropic Model Context Protocol (MCP)
A protocol, by Anthropic's own description. Defines how a model talks to a tool server over JSON-RPC. What it has: a wire format and a few reference servers.
Of the six properties: 1 โ it standardises (4) the interface shape. It is silent on every other property by design โ MCP is the wire, not the host. The host (Claude Desktop, Cursor, whatever) decides isolation, permissions, audit, lifecycle. MCP doesn't compete with an AI Cloud OS; it's a wire protocol an AI Cloud OS could use if the host wanted to.
LangChain / agent frameworks (LangGraph, AutoGen, CrewAI, โฆ)
Python libraries that help you write an agent.
Of the six properties: 0 at the platform level โ they're libraries. The author writes the orchestration. Nothing is enforced. There is no "platform" between two LangChain agents โ they could be written by the same dev, against the same OS, with no isolation. Multi-tenant, multi-author safety is the author's problem.
Durable workflow engines (Airflow, Step Functions, and similar)
Excellent at what they do โ durable async, retries, schedules. But they don't speak natural language; the user has to author the workflow in code. They don't classify user intent. They don't claim to be an OS.
Of the six properties: 1 โ they own (5) async lifecycle within a single tenant's workflow definitions. Everything else is out of scope.
"AI platforms" built on K8s (BentoML, Modal, etc.)
Container schedulers wrapped in an SDK. What they have: great runtime for inference workloads.
Of the six properties: 1 โ they own (5) for the compute job. They don't translate user intent (1), don't own tenant isolation (2) beyond container boundaries, don't have a permission model over the user data they touch (3), don't enforce a federal contract on what every workload must satisfy (4), don't standardise audit (6). They are infrastructure; an AI Cloud OS uses infrastructure.
How Imperal Cloud's web-kernel scores
Six-for-six, every property documented, every claim verifiable from this docs site.
1. Intent classification โ typed dispatch โ verifiable
A natural-language message becomes a typed handler call with confidence and, when multiple steps are involved, a dependency-ordered plan.
- Concept: Chain dispatch
- API:
@chat.functionโ typed Pydantic params, auto-detected schema - Guarantee: dependent steps run in dependency order, so reads precede the writes that consume them
2. Per-user, per-tenant runtime isolation โ verifiable
Every handler call is constructed with ctx.user.imperal_id + ctx.user.tenant_id + ctx.agency_id injected by the platform. Authors cannot fabricate or impersonate. Cross-tenant access returns 403 at the gateway boundary.
- Concept: Kernel context (ctx) โ every injected field documented
- Guarantee: identity, cache, secrets, and long-running tasks are all user-scoped at the boundary โ one user can never read another's data
- Guarantee: acting on behalf of another user requires system context; arbitrary impersonation is structurally impossible
3. Permission check before side-effects โ verifiable
Three independent gates fire before your extension's code runs:
- RBAC scopes โ required scopes declared per
@chat.function; the kernel rejects without scope. - Tenant scope โ the target resource's tenant must match the acting user's tenant.
- Action-type gate โ
action_type="destructive"triggers an unconditional confirmation card;"write"triggers it when the user has confirmations enabled. When a user accepts a confirmation, the action that runs is byte-identical to the one shown on the card.
If any check fails, your handler is not invoked. The user-facing error is a friendly localized message โ not a stack trace.
4. Standardised programming interface โ verifiable, gated at publish time
The Federal Extension Contract โ manifest schema v3, a suite of federal validators (V14-V24 + V31, most ERROR-severity, a few WARN), typed ctx with documented protocols (StoreProtocol, HTTPProtocol, AIProtocol, etc.). Every extension passes the gate or doesn't publish.
- Reference: Validators reference โ every validator + what it catches + how to fix
- Reference: Manifest reference โ every field in
imperal.json - Reference: Complete API surface โ single-page exhaustive
- Federal: Federal contract โ the developer-facing behavior guarantees every published extension satisfies
5. Asynchronous lifecycle managed by the platform โ verifiable
The author writes a coroutine. The web-kernel decides whether to run it inline (โค 5 seconds), auto-promote to a detached task (longer), or run as a declarative background task with auto-delivery of the result back to chat. Heartbeats, cancellations, federal caps (180 s default, 1800 s opt-in) โ all platform-managed.
- Concept: Long-running operations
- Recipe: Long-running AI calls โ three patterns, copy-paste
- Guarantee: long-running and background work is user-scoped, returns a typed result, and every chat-delivered result is audited
6. Audit chokepoint not bypassable โ verifiable
Every action lands in the federal action-ledger row with retention class and tenant scope. The chokepoint is at the boundary, not in the extension โ authors cannot opt out. Plaintext credentials, PII, and similar sensitive data are explicitly excluded from audit fields.
- Concept: Federal invariants โ the audit guarantees
- Guarantee: every action class is audited, and secret operations are retained for the federal minimum
Engineering receipts โ what "federally enforced" actually means
Three concrete examples of the kind of guarantee the web-kernel makes โ at the contract level, not at the documentation level.
Receipt 1 โ typed dispatch from a Pydantic params model
You write this:
from imperal_sdk import ActionResult
from pydantic import BaseModel, Field
class CreateNoteParams(BaseModel):
title: str = Field(min_length=1, max_length=200)
body: str = Field(default="")
folder_id: str | None = None
@chat.function(
"create_note",
description="Create a new note in the user's notebook.",
action_type="write",
event="note.created",
effects=["create:note"],
)
async def create_note(ctx, params: CreateNoteParams) -> ActionResult:
note_id = await ctx.store.create("notes", {
"title": params.title, "body": params.body,
"folder_id": params.folder_id,
"owner": ctx.user.imperal_id,
})
return ActionResult.success(
summary=f"Note '{params.title}' created.",
data={"note_id": note_id},
)When a user types "Create a note titled 'Q3 plans' in my Work folder", the web-kernel:
- Classifies intent โ picks
create_notewith confidence + extracts{title: "Q3 plans", folder_id: "<resolved>"}from the message. - Pydantic-validates against
CreateNoteParams. If anything is wrong, it retries with a structured prose hint to the agent (bounded โ at most 2 retries). - Checks RBAC scopes + tenant + confirmation policy.
- Constructs
ctxwith the user, tenant, store, audit, secrets, http clients. - Calls your handler.
- Renders the returned
ActionResultto chat. - Writes a
note.createdevent + an action-ledger row withretention_classandtenant_id.
You did not write any of 1, 2, 3, 4, 6, 7. You wrote the verb for step 5. Every other step is the kernel.
Receipt 2 โ multi-step dispatch with typed pipe between extensions
User says "find my pending tasks and email them to my manager". The platform doesn't fire two unrelated tool calls โ it builds a dependency-ordered plan: list the pending tasks first, then send the email that depends on that result.
Because the steps are dependency-ordered, the read (list_pending_tasks) always runs before the write (send_email) that consumes it. The result of the first step flows into the second as typed data through its own parameters โ the mail extension receives the verbatim structured output of the tasks step, never a placeholder string.
You did not write any multi-step orchestration. You wrote list_pending_tasks and send_email as independent extensions, each in their own author repo. The platform composed them at runtime.
Receipt 3 โ federal validators block publish, not lint at deploy
imperal validate runs the federal validators before publish. Each one catches a specific class of bug; failing any ERROR-severity rule blocks the package from reaching the marketplace (a few rules, such as the effects and data_model recommendations, are WARN):
| ID | What it catches | Severity |
|---|---|---|
| V14 | Extension description too short or equal to app_id | ERROR |
| V15 | display_name empty, short, or equal to app_id | ERROR |
| V16 | @chat.function description shorter than 20 chars | ERROR |
| V17 | Pydantic params model is function-local instead of module-scope | ERROR |
| V18 | @chat.function missing a typed return annotation (-> ActionResult / Pydantic model) | ERROR |
| V19 | actions_explicit=True required; write/destructive tools must be chain_callable=True | ERROR |
| V20 | write/destructive @chat.function declares no effects | WARN |
| V21 | icon.svg invalid (not XML, no viewBox, >100KB, embeds raster) | ERROR |
| V22 | Lifecycle-hook signatures missing required kwargs | ERROR |
| V24-AST | Handlers access ctx.skeleton.* outside @ext.skeleton | ERROR |
| V24 | write/destructive @chat.function declares no data_model | WARN |
| V31 | Extension(system=True) only for first-party Imperal authors | ERROR |
Every one is verifiable: run imperal validate ./your_extension on a deliberately-broken extension and watch the gate fire. The gate is in the CLI, in the Developer Portal upload server, and in the runtime loader โ three layers of the same contract. Defense in depth.
The architecture in one diagram
USER (natural language input)
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ AUTH GATEWAY โโ syscall entry: identity, RBAC, audit โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ WEB-KERNEL โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ Intent classifier (= syscall dispatcher) โ โ
โ โ Federal authorization (= permission check) โ โ
โ โ Context construction (= process spawn + handle) โ โ
โ โ Async lifecycle (= scheduler + deadline) โ โ
โ โ Audit chokepoint (= kernel log, kmsg) โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โผ
YOUR EXTENSIONS (= userspace programs)
โโ @chat.function โ system-call handlers
โโ @ext.skeleton โ ambient-state probes
โโ @ext.panel โ display-server surfaces
โโ @ext.schedule โ cron daemons
โโ @ext.webhook โ IPC inbound endpoints
โโ @ext.secret โ credential store APIReplace the OS analogy column on the right with the actual classical Linux job and the mapping is precise. The web-kernel is the same role, played for a different I/O pair.
The priority claim โ two iron-clad statements
There are two ways we are "first." One is by protocol (uncontestable). One is by definition (falsifiable but currently true).
First by protocol โ ICNLI
Imperal Cloud is the world's first complete implementation of the ICNLI protocol โ Infrastructure Contextual Natural Language Interface โ the open standard authored by Valentin Scerbacov, founder of Imperal, Inc., and published at icnli.org under CC BY-SA 4.0. ICNLI defines the canonical contract for mapping natural-language intent to context-aware infrastructure actions.
This is uncontestable. ICNLI is an open standard anyone can implement; we are the first who shipped a deployed multi-tenant cloud OS that implements it end-to-end. That makes Imperal Cloud the first ICNLI AI Cloud OS. Future ICNLI implementations are welcome โ competing on quality, not on the label.
First by definition โ the six-property test
Imperal Cloud is the first ICNLI AI Cloud OS: the first deployed, multi-tenant, federally-contracted, natural-language-native compute platform that implements all six classical kernel properties.
To dispute it, someone has to point to prior art that simultaneously satisfies:
- (a) Translates natural-language user intent into typed handler dispatches and
- (b) Owns per-
(user, tenant, author)isolation as a platform-enforced contract โ not an author convention and - (c) Gates every side-effect on RBAC + tenant + action-type rules before the handler runs and
- (d) Has a federal contract with ERROR-severity validators that block publish and
- (e) Owns the async lifecycle so authors write a coroutine and the platform handles long-running, heartbeats, and result delivery and
- (f) Enforces an audit chokepoint authors cannot bypass
We are not aware of one. Each of the alternatives in section 3 above implements one or two; none implements all six. AWS Bedrock AgentCore is the closest, missing (d). If you find a platform that satisfies all six, file an issue โ we'll update.
Other "first AI OS" claims โ acknowledged
Several vendors have used the phrase "world's first AI Operating System" or similar โ BlackSwan ELEMENT (2020), WarmWind OS (2025), Orbitype (2025), Amdocs aOS (2025), PubMatic AgenticOS (2025). We have read each, scored them against the six-property test, and found that none satisfies the full set. This is not a criticism of those products โ they solve different problems for different audiences. We are not first to use the phrase; we are first to ship the platform that the phrase honestly describes โ the first ICNLI AI Cloud OS.
The label "first" isn't poetry. It's a falsifiable engineering claim, and the receipts are this docs site.
What this means for you, the developer
You write the verb โ one @chat.function handler. The OS runs everything else:
| You don't write | Because the web-kernel owns it |
|---|---|
| Auth / JWT / sessions | Gateway |
| Per-user isolation logic | ctx.user.imperal_id injected, federally bound |
| Permission checks | Federal authorization runs before your code |
| Audit logging | Chokepoint at the gateway, every action recorded |
| Retry / timeout / cancellation | Async lifecycle managed by the web-kernel |
| Long-running task plumbing | @chat.function("long_running_task", background=True) flag |
| Multi-step across extensions | The platform's brain iterates โ calling each tool and using its real result to decide the next |
| Schema enforcement on tool args | Pydantic feedback loop + retry |
| Multi-tenant safety | ctx.user.tenant_id injected; cross-tenant access 403 at boundary |
| LLM provider failover | Handled for you behind ctx.ai โ provider/model selection and failover are platform-managed |
| Federal contract drift detection | 11 validators gate publish |
Your app.py is shorter than what you would write just for auth on any other platform. And it works at scale, in multi-tenant production, on day one.
That's the substance. The marketing copy at the top of the landing page โ "Welcome to Web 3.0.3" โ is the joke. The page above is what's underneath.
See for yourself
Quick Start (5 minutes)
Ship a working extension end-to-end. The fastest path to seeing the OS-grade properties in action.
Why [Webbee](/en/reference/glossary/) is different
The two Webbee-specific firsts: cloud-modular + proactive by design.
What we built that nobody else has
20 platform-and-agent surfaces with no known precedent โ the comprehensive list.
Federal contract
Every runtime invariant, every validator, every kernel-side guarantee โ the table of contents for property (4).
Architecture
The full path from chat message to your handler, layer by layer.
Federal invariants
The runtime contracts behind 'federally enforced' โ what the platform guarantees at the boundary.
Connections
Connect your own servers and tools into Webbee โ starting with SSH โ and control them in plain language from anywhere.
Why Webbee ๐ is different
Webbee ๐ is cloud-modular by construction and proactive as a platform primitive โ two structural firsts on the ICNLI AI Cloud OS, neither a bolt-on.