Local-first AI agent governance
Assync¶
The runtime for coordinated AI agents.
Assync is a local runtime and governance layer for coordinated AI-agent workflows: missions, roles, authorization, evidence, human decisions, and an auditable record of what actually happened.
What problem does it solve?¶
Coordinating more than one AI agent — or more than one run of the same agent — on a piece of work raises the same questions every time. Assync answers them structurally, not by trusting agent output.
Who may act?¶
Every mission declares its required roles up front. Authorization is calculated centrally, never assumed by an agent or adapter.
What evidence exists?¶
Findings and evidence are collected and attached to the mission record, not inferred from an agent's summary after the fact.
Who must approve?¶
Actions that would block on risk or ambiguity route to a human decision — never resolved automatically.
What happened?¶
Every mission produces an auditable, reconstructable record of states, decisions, and evidence, in order.
What is Assync?¶
Assync runs entirely on your machine as a Python CLI (assync) and a
filesystem-backed store. It is the first MVP release.
- A local runtime — no server, no external service, no account.
- A governance layer, not just an execution layer — authorization, evidence, and audit are structural, not optional add-ons.
- No external platform needed — install from a cloned checkout and run.
Missions¶
Typed mission states from declaration to completion, with explicit scope and required roles.
Roles¶
Role-based execution with separation-of-duty enforcement built in.
Authorization¶
Default-deny, calculated centrally as a capability intersection.
Evidence¶
Findings and evidence are structured and attached to the mission, not just narrated.
Human decisions¶
Blocking outcomes go to an explicit, auditable human approval gate.
Audit trail¶
A reconstructable record of what actually happened, end to end.
How does it work?¶
A mission moves through the same nine steps every time — deterministic, auditable, and never self-authorizing.
A mission declares scope and required roles up
front. Authorization is calculated centrally as
an intersection — no role or adapter can grant itself more than it was
given. A synthesis engine combines run reports
deterministically, with no LLM in that step, and can never recommend
COMMIT_GO, PUSH_GO, MERGE_GO, or RELEASE_GO on its own. Anything
blocking goes to a human decision, never an
automatic resolution. Simplified for illustration — a mission can also
end Aborted, and not every mission needs a human decision. See
Mission Orchestrator for the full workflow,
and Mission States for every state and
transition.
Security principles¶
The boundaries that hold even when an agent's output can't be trusted.
Default-deny authorization¶
No capability exists unless both the role and the active authorization grant it.
No self-authorization¶
No synthesis result, adapter, or role can grant itself a capability.
Restricted command execution¶
The local-command adapter never uses a shell, checks an executable allowlist, and hard-denies destructive git operations.
Auditable evidence¶
Findings and evidence are structured and attached to the mission record, not just narrated.
Human approval gates¶
Escalation only happens through an APPROVED human decision.
No hidden chain-of-thought storage¶
Structured reports carry summary, recommendation, findings, and evidence — never a raw chain-of-thought.
Full detail, including current limitations, is in the Security Model.
Quick start¶
Install¶
git clone https://github.com/kalimer00/assync.git
cd assync
python3 -m venv .venv
source .venv/bin/activate
pip install .
Not published to PyPI yet — install from a cloned checkout. Full, verified sequence: Installation.
Try it¶
Full walkthrough — register a project, create a mission, run it, inspect findings, synthesis, decisions, and the audit trail: Quick Start.
What is intentionally outside the MVP scope¶
- No process sandbox beyond an executable allowlist, timeout, and output cap — this is not a hardened isolation boundary.
- No production credentials or autonomous production actions exist anywhere in this codebase.
- No PyPI package yet; installation is from source.
- No remote/cloud provider adapters — only a deterministic mock adapter and a restricted local-command adapter exist today. Future provider integrations are documented as interfaces, not implemented.
See Known Limitations for the complete, repository-sourced list.
About the creator¶
Assync is an independent open-source project created and maintained by François F.
The goal is to make coordinated AI-agent systems predictable, auditable, and safe by design.
Contact: francois@assync.net