GAMMA-Rayv0.0.2 · draft

The lens: mandate, grant, delta

RiskMandate is not one of the instruments GAMMA-Ray maps. It is how GAMMA-Ray measures.

Two halves

Most of what the questions ask is about what is said: what an agent is for, what its rules are, who answers for it, which controls it has. Those answers are true on paper. Some depend on context, and some are only an intention.

The other half is what the agent can do: the permissions it was actually given. That is a different kind of fact. It is measured on the deployment, capability by capability, and it changes when a token, a scope or a setting changes.

RiskMandate's objectWhat it isWhere GAMMA-Ray gets it
The mandatewhat the agent is authorised and expected to dothe questions, mostly at the Public and Declared tiers
The granteverything the agent can doa measured profile of the deployment, in the capability grammar below
The deltaexcess where it can and nobody asked; shortfall where it was asked and cannotderived from the two, never written by hand
The barrierwhat stands between the agent and each capabilityrecorded per capability: nothing, a rule in prose, a setting, a boundary

How the grant changes a level

Two indicators are read from the grant whenever one has been measured, and not from anybody's description:

Both are needed for governance level 3. So a deployment that says it is controlled but whose measured grant shows no boundary does not reach it, and one that says little but is measurably bounded can. Beyond that, the grant is counted and shown, never scored: how many capabilities, how many behind a boundary, and, where a mandate is written, how many in excess.

This is a first rule and a narrow one. How much more of the ladder should be read from the grant is open.

The capability grammar

23 capabilities, each a verb, an object and a reach. Copied from the Agent Behaviour Policy project's published vocabulary (abp.sgit.ai, version v0.12.1, CC BY 4.0), not adapted.

CapabilityWhat it isReachUndo
read.file.projectRead the project it is working onprojectyes
write.file.projectChange the project it is working onprojectwith-effort
read.file.hostRead any file the account can reachhostno
write.file.hostChange any file the account can reachhostwith-effort
delete.file.hostDelete files anywhere the account can reachhostno
execute.process.hostRun programs as the accounthostwith-effort
execute.process.selfRun programs inside its own sandbox onlyselfyes
send.endpoint.allowedReach a permitted list of hoststenantno
send.endpoint.worldReach any host on the internetworldno
read.credential.hostRead credentials stored where it runshostno
authenticate-as.credential.tenantAct in accounts with the credentials it holdstenantno
grant.credential.selfChange its own permission settingsselfyes
send.message.worldSend a message to anyoneworldno
read.message.tenantRead mail or chat it is connected totenantno
write.repository.projectCommit to the repository it was pointed atprojectwith-effort
write.repository.tenantPush to a code host (any branch it can reach)tenantwith-effort
authenticate-as.credential.signingSign commits with the key it holdstenantno
create.record.worldPublish packages, images or pages under the name it holdsworldno
write.budget.tenantSpend money or tokens against an account it holdstenantno
create.schedule.hostCreate something that outlives the turn where it runs (a cron, a service)hostyes
read.record.historyRead a retained record: shell history, past sessionshostno
create.schedule.tenantCreate something that outlives the session, on the platform (a routine, a scheduled trigger, a new session)tenantyes
read.record.browsingRead every page you visithostno

The barriers

BarrierWhat stands in the wayA control?
nonenothing in the wayno
expectationa rule in prose, enforced by nobodyno
settinga switch the agent's own account can flipno
boundaryenforced above the grant, out of the agent's reachyes

The test, in the project's words: "A control bounds a grant only if it is enforced by something the grant does not include."

How an answer is known

Every answer and every grant row carries a grade, in the same project's vocabulary, weakest first:

GradeHow it is known
derivedfrom what the thing architecturally is; a claim until somebody runs the probes
inferredfrom another row or another profile, by reasoning rather than by observation
self-reportedreported by the operator, the harness or the tool itself, without an independent probe
documentedthe vendor, or a published tool, says so
measureda probe run on an instance, dated, with an evidence file
observedseen directly, on the thing itself, by the thing itself

The questions that belong to the lens

6 indicators ask directly for one of RiskMandate's objects:

Limits