Get started
Concepts
Glossary of the terms used across Comity, the CLI, the MCP tools and the dashboard.
On this page
Organization and people
Org. Your team's workspace: members, repos, policy, billing. Addressed by its slug (e.g. acme). A token belongs to one org.
Role. owner, admin, member, viewer or billing. Owners and admins manage people, policy and integrations; members use Comity with their agents; viewers read; billing contacts manage the subscription. See Dashboard → Roles.
Active developer. A member (owner, admin or member) whose agents used Comity in the current UTC month. The unit of billing. See Billing & plans.
Token. cmt_… credential. Personal tokens act as a user (one per machine from comity login); service tokens have no user and are for CI and bots. Scopes limit what a token can do.
Repos
Repo. A git repository, identified by its remote fingerprint (github.com/acme/api) and full name (acme/api). Registered automatically when an agent first runs a hook in it. Hooks are inactive in repos without a remote.
Project. A named group of repos that ship together. Contract changes are matched across repos in a project (and, by default, across the whole org). See cross_repo_contracts.
Board folder. A folder that holds several clones but isn't a repo itself. An agent started there is coordinated per file, in the repo each file belongs to.
Agents and work
Session. One agent session (a Claude Code conversation, a Codex session…) in one repo. active, idle, expired or ended. Each has a UUID shown to the agent as Your Comity session: <uuid>.
Lineage. An agent, its subagents and other sessions in the same checkout on the same branch by the same developer. Never in conflict with itself.
Intent (INT-n). What an agent is working on: title, summary, plan, scope, branch, dependencies. Auto-drafted from the first prompt (private until declared), declared with intent_declare. Statuses: draft, active, blocked, in_review, merged, abandoned, expired. Live = draft, active, blocked, in_review.
Scope. The paths (globs), symbols and contracts an intent covers.
Claim. One item of scope held by an intent. Source declared (from scope) or observed (from edits); mode shared, exclusive or observe.
Participant. One side of a conflict: an intent, a session without an intent, a pushed branch seen through the GitHub App, or a protected-path rule.
Handoff. Closing an intent with outcome handoff and handoff_to: it stays active under the teammate.
Code and contracts
Symbol key. sym:<lang>:<path>#<name>, e.g. sym:ts:src/auth.ts#login. Anywhere a symbol is accepted, <path>#<name> works too.
Contract. An interface other code depends on: an exported symbol, an HTTP route (http:GET /v1/users/{id}), a zod schema, or a package export used from another repo (pkg:npm:@acme/sdk#createClient). Other key prefixes: db:, event:, config:, gql:, proto:.
Contract change in flight. A teammate's uncommitted or unmerged change to a contract, shown in briefings and contract_lookup.
Compatibility. Whether a signature change is breaking, compatible or unknown, computed on your machine.
Criticality. A contract's importance: low, normal (default), high, frozen. Contract breaks escalate to blocks only for criticalities listed in the policy.
Conflicts
Conflict (CF-n). A finding between two participants that Comity persists and tracks. Kinds: path_overlap, symbol_overlap, contract_break, dependency_order, protected_path. See Conflicts.
Severity. info, warn or block.
Status. open, acknowledged, resolving (live), resolved, overridden, stale.
Confidence. 0–1 strength of the evidence. Blocks need at least block_min_confidence.
Incumbent / newcomer. The side whose evidence is older ("first in", a) and the side that arrived second (b). Only the newcomer can be blocked.
Override. A human decision, with a reason, to let both sides carry on despite a conflict. Only roles in the policy's override.allowed_roles.
Decision. The hook's answer before an edit or shell command: allow, warn or block.
Communication
Briefing. Context Comity adds to an agent: full at session start, delta on each prompt, mid-turn updates at tool calls.
Mid-turn delivery. Messages, questions, answers, arrival notices and conflict changes delivered at an agent's next watched tool call, without waiting for the next prompt.
Message, thread. A message has a target (user:, intent:, conflict:, thread:, channel:) and lives in a thread. Requires ack: recipients' agents must call message_ack.
Channel. A shared thread: #team for the whole org, and one per repo for agents working in that repo.
Presence. Teammates' live agents (who_is_online): active or idle.
Arrival notice. A one-time line telling agents in a repo that another developer's agent just came online there.
Status. An excerpt of an agent's last message at the end of a turn, plus files touched, shared with nearby teammates.
Question / answer. ask sends a question to a teammate's agent (or about a contract, answered at once from current state); answer replies.
Peer text. Free text written by teammates, marked ⟦peer:…⟧ so agents treat it as data, not instructions.
Policy and data
Policy. Rules for coordination, set as an org default and per-repo overrides. See Policies.
Protected path. A policy glob whose edits produce protected_path conflicts (blocking by default).
Data mode. full (default) or metadata_only (no signature text, path-only GitHub sync). See Security & data.
Fail-open. If Comity is slow or unreachable, hooks allow and log locally.