Skip to main content

Cortex FAQ

How does Cortex isolate agent processes?

Cortex uses OS-level namespaces and cgroups to enforce hard CPU and RAM limits per agent. Each agent runs as a separate process inside a restricted namespace. It cannot access the filesystem, network, or other agents unless those permissions are explicitly granted in the cortex.yaml manifest.

What is a .cortex bundle?

A .cortex file is a portable archive that contains everything needed to run an agent: the agent logic, prompt templates, dependency definitions, and resource manifest. Bundles ensure the agent runs identically across environments — local development, CI, and production — without configuration drift.

# Create a bundle from the current project
cortex bundle --config cortex.yaml --output my-agent.cortex

# Run it anywhere
cortex run my-agent.cortex

Does Cortex support GPU acceleration?

Cortex itself is a runtime for agent orchestration, not model inference. It does not manage GPU kernels directly. If your agent code calls a GPU-backed inference engine (e.g., vLLM, TGI, Ollama), Cortex will run that agent normally — GPU usage is handled by the inference engine, not by Cortex.

Can multiple agents communicate with each other?

Yes. Cortex includes a local-first inter-agent message bus. Agents can publish and subscribe to named channels. Communication between agents is asynchronous and scoped to the running swarm — agents on different nodes cannot communicate by default unless you configure a shared broker.

What runtimes does Cortex support?

Currently: python3.10, python3.11, python3.12, and nodejs18 / nodejs20. The runtime is specified per-agent in the manifest:

agents:
- name: analyst
runtime: python3.11
entrypoint: app.analyst:main

How do I limit what an agent can access?

Use the capabilities block in the agent definition. Nothing is allowed by default — you must explicitly grant each permission:

agents:
- name: researcher
capabilities:
- network.access: ["api.openai.com", "api.dopove.com"]
- filesystem.read: ["./data"]
- filesystem.write: ["./output"]

Attempts to access anything outside the declared capabilities will fail at the OS level, not the application level.

What happens if an agent crashes?

Cortex detects process exit and emits a structured log event with the exit code and agent ID. Restart policy is configurable in the manifest:

agents:
- name: worker
restart_policy: on-failure # Options: always, on-failure, never
max_restarts: 3

Where is the source code?

Cortex is open source at github.com/dopove/cortex. Issues, PRs, and the contribution guide are all there.