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.
The vocabulary
Section titled “The vocabulary”| 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. |
Four rules that never bend
Section titled “Four rules that never bend”- Durable state decides admissions. In-memory indexes find candidates; only committed SQLite state grants a write.
- Observing a write never creates a lease. An observed edit is evidence that an edit happened, not permission after the fact.
- Strict modes fail closed. Under
blockandask, outage, overload, invalid identity and timeout all deny.warncontinues with a recorded gap. - 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.
Trust boundaries
Section titled “Trust boundaries”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.