187d012ca8
Mechanical rename addressing review 6141 on #519: "consolidated launch" was unclear about what it composes. Rename the per-backend module `consolidated_launch.py` -> `infra_launch.py` and the error `ConsolidatedLaunchError` -> `InfraLaunchError` across all three backends and their callers/tests. Unify the three identical per-backend error classes into one `InfraLaunchError` defined in `backend/base.py` (re-exported by each `infra_launch`) so the base backend can raise and catch a single shared type — groundwork for the base owning the gateway-attach flow. Add a glossary entry defining **infra** = the per-host gateway + orchestrator service pair every bottle attaches to. No behavior change. Refs #516, #519. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
68 lines
2.8 KiB
Markdown
68 lines
2.8 KiB
Markdown
# Glossary
|
|
|
|
Canonical terminology for bot-bottle. Prefer these names in docs, comments, and UI.
|
|
|
|
---
|
|
|
|
## Agent Provider
|
|
|
|
The component that connects to an external model provider and sets up the model
|
|
harness inside the agent runtime. Configured in a bottle manifest under
|
|
`agent_provider:`; built-in templates are `claude` and `codex`. Responsible for
|
|
provider-specific auth, startup args, and egress routes.
|
|
|
|
## Agent Runtime
|
|
|
|
The OCI image (and the container or VM it runs in) that houses the model
|
|
harness. On the macOS-container backend this is an Apple Container; on
|
|
Firecracker it is a microVM; on the legacy Docker backend it is a Docker
|
|
container. The agent runtime is built from the agent provider's Dockerfile
|
|
(built-in or custom).
|
|
|
|
## Agent / Agent Definition
|
|
|
|
A Markdown file with YAML frontmatter that declares the system prompt and
|
|
identity of the model harness. Lives under `~/.bot-bottle/agents/` or a repo's
|
|
`.bot-bottle/agents/`. Specifies which bottle to run under (`bottle:`) and
|
|
which skills to load. Agent definitions are safe to commit; they contain no
|
|
secrets or egress policy.
|
|
|
|
## Bottle / Bottle Definition
|
|
|
|
A Markdown file with YAML frontmatter that declares the security and runtime
|
|
boundaries for one agent runtime: egress allowlist, git remotes, env vars,
|
|
nested-container flag, and agent provider config. Lives under
|
|
`~/.bot-bottle/bottles/`. Bottles are scoped to `$HOME` so a cloned repo
|
|
cannot override host egress policy.
|
|
|
|
## Sealed Bottle
|
|
|
|
The fully-resolved bottle after all `extends:` inheritance is applied and every
|
|
field has been validated. The sealed bottle is the immutable boundary spec that
|
|
the launcher enforces — no further overrides are possible once it is sealed.
|
|
|
|
## Bottled Agent
|
|
|
|
The combination of an Agent Definition and a Sealed Bottle, representing a
|
|
single deployable agent with a fixed identity and fixed boundaries. A bottled
|
|
agent has two observable states:
|
|
|
|
- **Active** — the agent runtime is running and the agent is executing.
|
|
- **Frozen** — the agent runtime has been snapshotted (Firecracker committed
|
|
image); the agent is not running but can be resumed from the snapshot.
|
|
|
|
## Active Bottle
|
|
|
|
Shorthand for an active (running) Bottled Agent. Used in the supervisor TUI
|
|
and discovery layer to mean "a bottle whose agent runtime is currently up."
|
|
|
|
## Infra
|
|
|
|
The per-host pair of shared services every bottle attaches to: the
|
|
**orchestrator** (control plane — holds the signing key, owns the registry DB,
|
|
mints tokens) and the **gateway** (data plane — TLS-inspecting egress proxy,
|
|
git-gate, supervise). Brought up as an idempotent singleton pair by each
|
|
backend's `InfraService` (two containers on docker/macOS, two microVMs on
|
|
Firecracker). The per-backend `infra_launch` module composes the bring-up and
|
|
bottle register/provision sequence against this pair.
|