Menu

Shared Project Intelligence for multi-agent work

Coordinate execution. Preserve understanding.

AI agents are becoming specialized. One plans. One writes code. One reviews. One tests. But every handoff can lose the decisions, active work, impact, and proof that made the previous step safe.

Hosted MCP or API gives every client the same Project Intelligence before it acts. The Project Brain belongs to the project, not to a model, chat session, or orchestration framework.

Companion is the default workflow layer for briefs, handoffs, and continuity. Sandbox and Orchestrator are optional layers for repeatable execution, proof gates, production validation, or advanced multi-agent coordination.

Required path

AI client Hosted MCP / API Project Brain

The client still owns reasoning and execution. Snipara supplies the project-owned intelligence.

Optional layers

Companion

default workflow continuity

Sandbox

repeatable execution evidence

Orchestrator

advanced proof and coordination

The handoff problem

Specialization is useful. Context loss is expensive.

same repo · new session · less context

01 / planner

Creates a plan

The next agent sees a prompt, not the reasoning behind it.

02 / builder

Changes the repo

Important decisions remain buried in a previous context window.

03 / reviewer

Re-discovers impact

The same repository search starts again from zero.

snipara / project brain

Keeps the state

Decisions, ownership, impact, proof, and outcomes stay project-owned.

One execution, end to end

Orchestration is easiest to understand as a complete project loop. Snipara prepares the shared state and records what happened; your chosen agents still do the reasoning and execution.

  1. 01

    Issue arrives

    Goal, constraints, and project scope

  2. 02

    Planner

    Builds the execution graph from Project Intelligence

  3. 03 / parallel

    Backend · frontend · docs · tests

    Agents work in bounded branches of one graph

  4. 04

    Verify · receipt · update

    Proof becomes context for the next run

The boundary

The orchestrator is replaceable.

Use Snipara htasks, a host-native run, Codex, Claude, CI, or your own coordinator. The execution layer can change without resetting the project's intelligence.

The Project Brain is not.

PROJECT BRAIN / SHARED STATE

Decisions

why this path was chosen

Active work

who owns the next safe step

Impact graph

what the change can affect

Proof receipts

what was actually verified

Between executions

Run 2 should not start at zero.

Each run can leave behind decisions, proof, receipts, ownership, and impact. The next planner starts from that project state instead of reconstructing it from chat history.

RUN #1 → receipt + proof + impact
↓ Project Brain
RUN #2 → starts with context

Multi-agent coordination is not the product

Traditional multi-agent systems pass prompts between workers. Snipara keeps the durable project layer between those workers, so the handoff carries decisions and evidence rather than only text.

What changes when the project owns the context
Traditional multi-agentSnipara Project Intelligence
Agents pass promptsAgents reuse Project Brain state
Handoffs lose decisionsHandoffs carry decisions and proof
Each agent searches the repo againImpact and source context are already available
Memory lives in a chat or toolMemory, ownership, and outcomes live in the project
Planning restarts between runsPlanning continues from the last verified state

Proof receipt

A decision that the next agent can trust

planner → update auth middleware
backend agent → changes middleware
tester → validates behavior

✓ receipt created

why · impact · verification · files · outcome

The orchestrator manages execution.

Project Brain manages understanding.

Developer tooling only
Advanced package and testing surface
Orchestrator is an advanced package for validation and release control. It is not a primary connection path for LLM agents or product integrations.

Advanced package

Most users do not need snipara-orchestrator. Start with Hosted MCP for agents or API / SDK for product integrations unless you specifically need production validation, proof-based checks, drift detection, or explicit htask orchestration.

For normal coding work, prefer Hosted MCP plus optional snipara-companion and Snipara Sandbox first. Use orchestrator only when you need a stronger control plane around validation and release workflows.

snipara-companion may suggest this package for FULL + ORCHESTRATED work, but it does not install orchestrator or spawn workers automatically. Install it explicitly through pip install snipara-orchestrator or npx create-snipara repair --with-orchestrator.

Orchestrator also contains the Adaptive Work Routing resolver. The resolver takes a provider-neutral WorkProfile, ModelRequirements, and a sanitized runtime worker catalog, then selects a candidate or fails closed to the main agent. It does not maintain hardcoded model-name lists and does not launch hidden workers.

Philosophy

Traditional CI/CD pipelines stop at "tests pass, deploy". But production is the real test. Snipara Orchestrator implements prod-first validation:

Proof-Based Verification

Every check produces a proof with endpoint, user_tested, and result. No guessing.

Single Gatekeeper

One authority decides pass/fail. No conflicting validation layers.

Live Production Checks

HTTP health checks, UI tests with Playwright, schema validation against live endpoints.

Fail-Fast on Drift

Detect route changes, schema drift, or unhealthy services before wasting time.

Installation

pip install snipara-orchestrator
npx create-snipara repair --with-orchestrator

Or with all optional dependencies (Playwright for UI tests):

pip install snipara-orchestrator[all]

Quick Start

Adaptive Work Routing Resolver

Use the resolver when Snipara or companion has already produced a runtime catalog. This is the path for BYOM providers and local LLM runtimes such as Ollama, LM Studio, AnythingLLM, or OpenAI-compatible gateways reachable from the worker runtime.

snipara-orchestrator route --dry-run --catalog-file runtime-catalog.json

Routing decisions stay advisory until a worker returns an explicit receipt and Project Health has enough quality-adjusted accepted outcomes to clear the sample gate.

Host-Native Supervision

The separate host command family can explicitly supervise Codex App Server, Claude Code CLI, or a loopback OpenAI-compatible runtime such as LM Studio. The native host keeps model invocation, tools, and permissions; Snipara normalizes discovery, bounded dispatch, status, steering, cancellation, resume metadata, redacted evidence, and actual Git write-scope checks.

snipara-orchestrator host discover --adapter all
snipara-orchestrator host run \
  --adapter codex_app_server \
  --task "Update one bounded docs file" \
  --workspace . \
  --write-scope docs/README.md \
  --acceptance "docs match shipped behavior" \
  --proof "git diff --check" \
  --output-fragment "expected output line"
snipara-orchestrator host run \
  --adapter openai_compatible --base-url http://127.0.0.1:1234 --model local/coder \
  --task "Update one bounded docs file" --workspace . --write-scope docs/README.md \
  --proof "git diff --check" --strong-repair --repair-adapter codex_app_server --execute

Runs are plans until --execute is supplied, and real dispatch also requires proof. Remote or credential-bearing local-model URLs, embedding/reranker models, missing proof, and out-of-scope writes fail closed. Managed Agents discovery remains feature-flagged until its beta contract is validated end to end.

Declared proof commands run automatically after dispatch through a bounded argv-only runner. Use --no-run-proof to leave a receipt in verification_required for review, or add --require-approval and an approval receipt before unattended execution. Provider keys are declared as environment-variable names with--api-key-env; the secret value never enters the chat, worker registry, or receipt.

Local delegation is available with explicit supervision

LM Studio completed 30/30 bounded tasks directly in this sample. A planner → local handoff completed 28/30 before verification; a strong repair pass recovered both failures. The control plane can now run proof commands and enforce approval, scope, and redaction gates. Automatic local delegation remains policy-gated, but the explicit supervised path now supports one bounded strong-repair attempt after a proof or output failure. This is a routing-quality gate, not a verdict on local model capability.

Marketing takeaway

One control plane. The right model for each step.

Use local inference for fast, bounded work and keep strong-host planning or recovery for ambiguity and risk. In this study, LM Studio runs on an existing Mac and the cloud agent is covered by an existing subscription, so neither path adds a per-call charge in this setup. The value we measure is verified delivery: quality, speed, and safe recovery.

30/30

direct local tasks verified

2.42 s

local median time to result

≈ $0.005

Fable API-equivalent value per task*

2/30

handoffs needing strong repair

*Based on the measured 161 input + 67 output local tokens and published API list rates ($10/$50 per million tokens for Claude Fable 5 ; $5/$30 for GPT-5.6 Sol). This is a reference value, not a local bill. Actual frontier savings require usage telemetry from the strong host.

Comparative benchmark evidence

The live benchmark uses three bounded task families and ten repetitions per family. It compares strong-only, local-only, strong-plan plus local execution, and the same handoff with a strong repair pass only after semantic validation fails. Token and cost fields staynull when the host does not expose them; completion and latency remain directly usable. The current machine-readable run is maintained in the repository benchmark evidence and is not a Worker Trust promotion signal.

LM Studio comparative benchmark — 10 repetitions, 30 samples per condition
ConditionSemantic completionMedianp95Supervisor recovery
Codex strong-only30/30 (100%)7.78 s12.42 s
LM Studio local-only30/30 (100%)2.42 s4.21 s
Codex plan + LM Studio28/30 (93.3%)11.72 s21.42 s
Plan + LM Studio + strong repair30/30 (100%)11.72 s25.24 s2/30 (6.7%)

This separates model quality from orchestration quality: local-only matched Codex on these tasks and was 5.36 s faster at the median, while the planner handoff lost 6.7 points and added 3.94 s. A strong repair pass recovered both failures. Automatic local delegation remains policy-gated until this behavior is reproduced on broader real-work samples; explicit supervised runs can now request one bounded repair with the same scope and proof gates. We do not turn the existing Mac, subscription, electricity, or hardware into a fabricated per-call dollar saving; those resource costs are outside this benchmark.

Basic Usage

import asyncio
from snipara_orchestrator import Orchestrator, Task, ValidationCriteria
from snipara_orchestrator.models import LiveCheck, OrchestratorConfig
config = OrchestratorConfig(
    snipara_api_key="snp-your-key",
    snipara_project="my-project",
    prod_url="https://api.example.com",
)
orchestrator = Orchestrator(config)
await orchestrator.initialize()
task = Task(
    id="deploy-auth",
    title="Deploy Authentication",
    criteria=ValidationCriteria(
        local_tests=["pnpm test", "pnpm lint"],
        live_checks=[
            LiveCheck(url="/health", expected_status=200),
            LiveCheck(url="/auth/login", method="POST", expected_status=200),
        ],
        required_proofs=2,
    ),
)
result = await orchestrator.execute_task(task)
print(f"Status: {result.status.value}")

CLI Usage

snipara-orchestrator init
Created orchestrator.yaml with default configuration
snipara-orchestrator run "deploy-auth"
Task completed: DONE (3/3 proofs passing)

Task Lifecycle

Tasks flow through a strict state machine:

PENDING → IN_PROGRESS → LOCAL_OK → VALIDATING → PROD_OK → DONE
                                        ENV_DRIFT (fail-fast)
StateDescription
PENDINGTask created, waiting to start
IN_PROGRESSLocal tests running
LOCAL_OKLocal tests passed, ready for validation
VALIDATINGRunning live checks against production
PROD_OKAll live checks passed
DONETask completed successfully
ENV_DRIFTEnvironment changed unexpectedly (routes, schema, health)
FAILEDTask failed validation

Snipara Integration

The orchestrator uses Snipara for context-aware validation. It queries your documentation to understand expected behavior, stores decisions in memory, and coordinates htask-based multi-agent workflows when you explicitly choose that pattern.

# Query context for task understanding
context = await snipara.query("authentication API endpoints")
# Remember decisions across sessions
await snipara.remember(
    content="Used JWT for auth, not session cookies",
    type="decision",
)
# Coordinate with other agents via htasks
feature = await snipara.create_htask_feature(swarm_id, "Billing rollout", "Coordinate API, frontend, QA, and deploy validation")

Drift Detection

The orchestrator automatically detects environment drift:

Route Drift

Expected endpoints missing or returning different status codes.

Schema Drift

OpenAPI/JSON Schema mismatches between expected and actual responses.

Health Drift

Services unhealthy or returning degraded status.

Multi-Agent Workflows

Use Snipara htasks to coordinate multiple agents. The orchestrator provides wrappers for feature creation, task creation, queue recommendations, completion evidence, and tree inspection. It still leaves actual Codex, Claude, or CI worker spawning explicit.

# Coordinator creates a feature and workstreams
await snipara.create_swarm(name="deployment")
feature = await snipara.create_htask_feature(swarm_id, "Auth rollout", "Ship auth safely")
await snipara.create_htask(swarm_id, "Run unit tests", parent_id=feature["task_id"], priority=10)
# Workers request the next safe batch and report evidence
batch = await snipara.recommend_htask_batch(swarm_id, limit=3)
result = await execute_task(batch["tasks"][0])
await snipara.complete_htask(swarm_id, batch["tasks"][0]["task_id"], result=result)
snipara-orchestrator htask-next --swarm-id <swarm> --limit 3
snipara-orchestrator htask-tree --swarm-id <swarm> --task-id <feature>

API Reference

Orchestrator

MethodDescription
initialize()Initialize orchestrator and connect to Snipara
execute_task(task)Run full task lifecycle with validation
check_drift()Check for environment drift
get_status(task_id)Get current task status

Gatekeeper

MethodDescription
gate_local_to_validation(task)Decide if local tests passed
gate_validation_to_prod(task)Decide if live checks passed
generate_cutover_checklist(task)Generate deployment checklist

Examples

Related