Skip to main content

Governance

The architect proposes. The human approves. The gated arm applies. The service never provisions on its own.

Approving in the queue is applying — there is no second step. Destructive actions require scope in telemetry (require_scope), not a hidden button.

SOCIETY_GOVERNANCE_ENFORCE is OFF by default. Turning it on is an environment decision. The Console toggle in Dev is in-memory: it does not survive a container restart.

Kill-switches (default off): SOCIETY_SPAWN_ENABLED, SOCIETY_RAG_WRITE_ENABLED, SOCIETY_SKILL_PUBLISH_ENABLED, SOCIETY_EVALUATOR_AUTO_APPROVALS_ENABLED.

Roles (claim roles from the OIDC ID token → scopes):

RoleCan, in short
adminOperate the society, SOUL/prompts, users; not dev:write
operatorApprove, deploy, governance; no delete or prompt reconfig
memberConversation UI; :own reads
viewerSociety read, no approval queue
serviceM2M (gated arm, graph emitters)

dev:write and * are superadmin-only: no matrix role grants them.