Skip to content

config

config

Configuration models for the Marianne conductor (daemon).

Defines Pydantic v2 models for daemon-specific settings: socket configuration, resource limits, concurrency controls, and state backend selection.

Classes

McpServerEntry

Bases: BaseModel

A single MCP server in the shared pool.

The conductor manages the lifecycle of these servers: start, health check, restart on failure. Each server is proxied behind a Unix socket so agents can access it via bind-mount into their sandbox.

McpPoolConfig

Bases: BaseModel

Shared MCP server pool managed by the conductor.

One process per MCP server type, shared across all agents. The conductor proxies each stdio MCP server behind a Unix socket. Sockets are forwarded into agent sandboxes via bind-mount.

Example YAML::

mcp_pool:
  servers:
    github:
      command: "github-mcp-server"
      socket: "/tmp/mzt/mcp/github.sock"
    filesystem:
      command: "fs-mcp-server"
      socket: "/tmp/mzt/mcp/filesystem.sock"

ResourceLimitConfig

Bases: BaseModel

Resource constraints for the daemon process.

Prevents runaway resource consumption by capping memory, processes, and API call rates at the daemon level.

SocketConfig

Bases: BaseModel

Unix domain socket configuration for daemon IPC.

Uses Unix sockets (not TCP) for security — no network exposure. The socket file is created on daemon start and removed on clean shutdown.

ObserverConfig

Bases: BaseModel

Configuration for the job observer and event bus.

SemanticLearningConfig

Bases: BaseModel

Configuration for conductor-level semantic learning via LLM.

Controls how the conductor analyzes sheet completions using an LLM to produce semantic insights stored in the learning database.

The backend field accepts the same BackendConfig used by job execution, so any backend type (claude_cli, anthropic_api, ollama, recursive_light) can power semantic analysis.

DaemonConfig

Bases: BaseModel

Top-level configuration for the Marianne conductor.

Controls socket binding, PID file location, concurrency limits, resource constraints, and state backend selection. Follows the same Field() conventions as marianne.core.config.