# Glossary

Understand the names used by Ferrite applications, deployments, and durable services.

## Application

The constrained Rust process that receives only the handles, routes, secrets,
and network destinations declared in `ferrite.json`.

## Binding

A local handle that grants one application access to one declared service.
Code uses the handle with calls such as `ctx.queue("jobs")`.

## Store

Linearizable key-value state with guarded updates.

## Transaction

An atomic guarded change across multiple keys. The SDK exposes this through an
APE binding.

## Stream

An ordered durable sequence read by offset. A topics binding provides multiple
named streams.

## Queue

Durable leased work with acknowledgement, retry, delayed delivery, and
dead-letter handling.

## Object Storage

Content-addressed durable objects accessed through a Blob binding.

## Function

An isolated application process supervised and scaled by Ferrite.

## Route

A public path prefix connected to an API Queue, static content binding, WebSocket
flow, or event stream.

## Egress

Outbound HTTP performed through a named handle and restricted to declared URL
prefixes.

## Release

An immutable accepted build of application source.

## Environment

A named pointer to a release, such as a production environment or an expiring
deployment used before promotion.

## Agent-native app

An app that publishes human HTML and machine-usable Markdown, discovery,
OpenAPI, MCP, and WebMCP surfaces from the same product contract.
