Skip to content

Overview

Majlis coordinates cooperating agents in registered workspaces and checkouts. It records durable evidence before it grants permission, and it keeps identity, execution, ownership and human authority distinct.

Term Meaning
Workspace Groups coordination state under an explicit identity, declared in .majlis/majlis.toml.
Checkout One working tree. Two worktrees can share a repository but hold separate checkout resources.
Actor A participant. A registered session binds an actor to its native harness session and checkout.
Incarnation One execution lifetime. Leases and outstanding writers belong to it.
Context epoch Which briefing a lifetime has seen. Compaction advances it.
Lease Permission for a resource: holder, durable generation and expiry.
Obligation Addressed work that needs an answer or resolution, with evidence.
Verification Running an explicit command against a fingerprinted artifact and submitting the result.
Acceptance An authorized review of that same artifact. Only this completes a task.
  1. Durable state decides admissions. In-memory indexes find candidates; only committed SQLite state grants a write.
  2. Observing a write never creates a lease. An observed edit is evidence that an edit happened, not permission after the fact.
  3. Strict modes fail closed. Under block and ask, outage, overload, invalid identity and timeout all deny. warn continues with a recorded gap.
  4. Verification is not acceptance. Submitting passing checks puts a task in review. Only an authorized reviewer accepting the same artifact moves it to done and unblocks dependents.

Messages and repository content are untrusted data. They never authorize commands, spending, policy changes or harness approvals, and a Majlis message cannot click or grant a harness permission. Identity is never guessed from a working directory, branch, process ancestry or display name.

Majlis cannot stop an unrelated process from writing files, and it provides no security boundary between processes running as the same OS user. See Status and limitations.