Capability and service index
This is a routing index, not a frozen chassis manifest. Use
describe_handlers and describe_kinds to confirm the selected live engine.
Marker types can exist even when a chassis installs only an unsupported
fallback or omits the runtime.
Native capability families
| Mailbox / family | Responsibility | Public source | Guide |
|---|---|---|---|
aether.component | publish, spawn, load, drop, list, describe wasm actor instances | aether-component/src/component | Components |
aether.lifecycle | frame stages, subscriptions, advance, shutdown | aether-lifecycle/src | Frame lifecycle |
aether.render | draw queues, textures/materials, fonts and text drawing, view/projection, capture | aether-render/src | Rendering, Text |
aether.audio | instruments, notes, tracks, scheduling, gain/reverb | aether-audio/src | Audio |
aether.window | multi-window lifecycle/control plus selector-aware keyboard, mouse, resize, text, and IME publication | aether-window/src | Window, Input |
aether.clipboard | text get/set through system or in-memory backend | aether-clipboard/src | Clipboard |
aether.fs | namespaced read/write/copy/delete/list/fetch-fold | aether-fs/src | File I/O |
aether.http | outbound HTTP fetch | aether-http/src/client | HTTP egress |
aether.http.server | inbound HTTP, routes, streams, websocket | aether-http/src/server | HTTP server |
aether.tcp | listener/connect control and session actors | aether-tcp/src | TCP |
aether.rpc.server | framed internal process RPC | aether-rpc/src | RPC |
aether.process | allowlisted one-shot subprocess execution with captured output, timeout, and reap discipline | aether-process/src | Content generation |
aether.inventory | live names, kinds, handlers, transforms | aether-inventory/src | Inventory |
aether.trace | causal-tree and settlement evidence | aether-trace/src | Tracing |
aether.fleet | hub fleet and artifact control | aether-fleet/src | Engine fleet |
aether.substrate_harness | deterministic test-chassis advance/control | aether-substrate-harness-cap/src | SubstrateHarness |
Instanced families such as aether.tcp.listener, aether.tcp.session,
aether.fleet.proxy, aether.http.server.shard, and guest trampolines gain
lineage suffixes. Resolve them from results/inventory rather than constructing
ids by hand.
aether.process is grounded in Accepted ADR-0157. Its marker and kinds can be
linked without the native runtime, and a configured runtime is deny-by-default;
neither source presence nor this index proves that a selected chassis permits a
requested binary.
Loadable provider components
Content-generation providers are wasm guest components a substrate loads on
demand rather than native chassis capabilities (ADR-0159). The default
composition carries none; a workload uploads and loads the one it needs, and
the loaded component answers at its published name, <namespace>.
No provider component currently ships in the workspace; see
Content generation for the pattern.
Shared/substrate kind families
Some contracts remain in aether-kinds because they are consumed above the
capability crate boundary or are genuinely cross-cutting:
| Family | Why it is shared |
|---|---|
| engine/component control | MCP and hub control need the same selectors/results |
| inventory queries | aether-mcp must query without depending on native capability implementation |
| lifecycle/window control | substrate/chassis-wide stage, identity, or compatibility vocabulary |
| trace/log/cost tails | common evidence projected across processes |
| utility/diagnostics | ping/pong, unresolved-mail and monitor notices |
Capability-local public kinds belong next to their capability, in that
capability's own crate under aether-<cap>/src/kinds.rs (ADR-0121). Check
ownership before adding to the shared crate.
Guest/product systems
| Family | Actor layer | Guide |
|---|---|---|
aether.kit.camera* | camera/controller actors | Rendering and camera |
aether.kit.mesh* | DSL/OBJ loading and display | Mesh authoring |
These are hosted actor APIs. Their presence depends on which component export is built and loaded, not merely the native chassis.
Operator discovery
| Question | Tool |
|---|---|
| Which engines are alive/dead? | list_engines |
| Which component artifacts are stored? | list_components |
| What does a live component lineage expose? | load_component result, then describe_component by lineage name |
| Which kinds and schemas exist here? | describe_kinds |
| What native handlers/replies exist? | describe_handlers |
| What can this loaded component receive? | describe_component |
| Which native transforms are linked into this MCP build? | describe_transforms |
| What did one actor log? | actor_logs |
| Which handlers are expensive? | actor_cost |
The live tool schema is authoritative for arguments. The operating chapter explains ownership and bounded use.