GEAS · coordination platform

Who can do what,
when, and what depends on what.

A coordination platform for human developers and AI agents inside an organization. It sits above Git and agent harnesses: it doesn't replace either. It answers one atomic, verifiable question — who can claim what resource, at what time, and with what permissions — using declarative YAML trees versioned in Git and a lightweight database for runtime state.

01
problem

What it solves

Multiple developers (or agents) working on the same repository collide on the same files. GEAS solves the coordination problem before it happens: atomic claims, resource locks, and role-based access control — so two agents can never lock the same file, and tickets are ordered by priority (which ones unblock the most others). Built in pure Python with zero runtime dependencies.
Profiles
3 deployment profiles: Individual, Team, Enterprise
Purity
Zero runtime dependencies — stdlib-only Python
Concurrency
Atomic claims + resource locks + TTL heartbeats
02
decisions

Engineering decisions

→ Declarative tree, not imperative: organization.yml, departments/, roles/ — YAML trees versioned in Git describe the desired state. geas sync applies them idempotently to the DB.
→ Atomic ticket claims: UPDATE ... WHERE status='FREE' — two concurrent agents never claim the same ticket. Locks prevent concurrent resource edits.
→ RBAC with declarative roles: each role declares its permissions. geas role grant is idempotent. The permission catalogue is versioned and auditable.
→ Git providers via REST: GitHub, GitLab, Bitbucket — stdlib-only, no SDKs. If the token is missing, the remote API fails cleanly (never silently degrades).
→ Multi-provider harness: run a ticket with a local command or call an LLM directly (OpenAI / Anthropic via HTTP, stdlib). Token usage and cost are recorded.
→ MCP tools for AI agents: agents query tickets, permissions, and context via Model Context Protocol — no custom client needed.
→ 3 deployment profiles: Individual (SQLite, minimal), Team (+roles, RBAC, locks, web UI), Enterprise (+departments, policies, SSO/OIDC). A single codebase scales from solo to org.
Relationship GEAS is the coordination layer that MeshHarmes plugs into for multi-agent workflows — it manages tickets, locks, and permissions so harness agents don't collide.
03
architecture

Architecture

Git: declarative tree
organization.yml, departments/, roles/, repositories/, policies/ — all versioned, all synced via geas sync .
DB: runtime state
Tickets, locks, executions, event log, audit log. SQLite by default, PostgreSQL planned for Team/Enterprise.
CLI
Init, org management, tickets, resources, work, harness, MCP tools — 50+ subcommands.
Web panel
geas serve → read-only dashboard at http://127.0.0.1:8787/. Ticket detail pages with traceability.