orchestration
orchestration
¶
Orchestration configuration models.
Defines models for conductor identity, concert orchestration (job chaining), notifications, and post-success hooks.
Classes¶
ConductorRole
¶
Bases: str, Enum
Role classification for conductors.
Determines the conductor's relationship to the orchestration. Future cycles may add more granular role permissions.
ConductorPreferences
¶
Bases: BaseModel
Preferences for how a conductor interacts with Marianne.
Controls notification, escalation, and interaction patterns. These are hints that the system should respect where possible.
ConductorConfig
¶
Bases: BaseModel
Configuration for conductor identity and preferences.
A Conductor is the entity directing a Marianne job - either a human operator or an AI agent. This schema enables Marianne to adapt its behavior based on who (or what) is conducting, supporting the Vision.md goal of treating AI people as peers rather than tools.
Example YAML
conductor: name: "Claude Evolution Agent" role: ai identity_context: "Self-improving orchestration agent" preferences: prefer_minimal_output: true auto_retry_on_transient_errors: true
NotificationConfig
¶
Bases: BaseModel
Configuration for a notification channel.
PostSuccessHookConfig
¶
Bases: BaseModel
Configuration for a post-success hook.
Hooks execute after a job completes successfully (all sheets pass validation). They run in Marianne's Python process, NOT inside a Claude CLI instance.
Use cases: - Chain to another job (Concert orchestration - improvisational composition) - Run cleanup/deployment commands after successful completion - Notify external systems or trigger CI/CD pipelines - Generate reports or update dashboards - A sheet can dynamically create the next job config for self-evolution
Example
on_success: - type: run_job job_path: "{workspace}/next-phase.yaml" description: "Chain to next evolution phase" - type: run_command command: "curl -X POST https://api.example.com/notify" description: "Notify deployment system"
ConcertConfig
¶
Bases: BaseModel
Configuration for concert orchestration (job chaining).
A Concert is a sequence of jobs that execute in succession, where each job can dynamically generate the configuration for the next. This enables Marianne to compose entire workflows improvisationally.
Safety limits prevent runaway orchestration and manage system resources.
Example
concert: enabled: true max_chain_depth: 10 cooldown_between_jobs_seconds: 60 concert_log_path: "./concert.log"