This page is generated by loom-commission-docs from the ESS specification in ess/commission/ (system commission, version 1). Do not edit it by hand; run task commission:docs.
Domain model
The responsibility model for governed autonomous workers: an agent revision commissioned to a durable case under a governor, the frontier the governor returns, and the runs that act on it.
Responsibility domain
commission.responsibility. An agent revision commissioned to a durable case. The governor owns the case's truth and returns a frontier; a run is one bounded period of execution against it. The executor proposes; it never completes a case.
Entities and relations
ESS domain · commission.responsibility
An agent revision commissioned to a durable case. The governor owns the case's truth and returns a frontier; a run is one bounded period of execution against it. The executor proposes; it never completes a case.
- Entities13
- Owns
- References
- One
- Many
- Initial state
Hover or focus an entity to see its fields, lifecycle and relations. Press Enter to pin it, Escape to clear.
Lifecycles with transitions
RunSuspensionDomain as text
| Entity | Identity and fields | Lifecycle | Relations |
|---|---|---|---|
ActionBinding | binding: ActionBindingKey (identity) commission_id: CommissionId instance_id: ConnectorInstanceId operation_id: ConnectorOperationId effect: ConnectorOperationEffect | states Declared; initial Declared | endpoint references one ConnectorEndpoint |
ActionRequest | action_request_id: ActionRequestId (identity) run_id: RunId case_id: CaseId expected_case_revision: integer action: string arguments: ProposedActionArguments | states Requested; initial Requested | case references one Case |
Agent | agent_id: AgentId (identity) name: string | states Registered; initial Registered | revisions owns many AgentRevision |
AgentRevision | agent_revision_id: AgentRevisionId (identity) agent_id: AgentId revision: integer | states Published; initial Published | — |
AuthorityDecision | authority_decision_id: AuthorityDecisionId (identity) action: string granted: boolean action_request_id: ActionRequestId | states Decided; initial Decided | action_request references one ActionRequest |
Case | case_id: CaseId (identity) protocol: string revision: integer | states Open; initial Open | — |
Commission | commission_id: CommissionId (identity) agent_revision_id: AgentRevisionId case_id: CaseId principal: PrincipalId authority_context: AuthorityContext | states Assigned; initial Assigned | agent_revision references one AgentRevision case references one Case runs owns many Run bindings owns many ActionBinding suspension owns one Suspension |
ConnectorEndpoint | instance_id: ConnectorInstanceId (identity) url: ConnectorEndpointUrl credential: ConnectorCredentialRef allow_plaintext: boolean | states Declared; initial Declared | — |
Evidence | evidence_id: EvidenceId (identity) case_id: CaseId kind: string subject_revision: integer producer: string observation_ids: List<ObservationId> facts: json provenance: json | states Submitted; initial Submitted | case references one Case observations references many Observation |
Frontier | frontier_id: FrontierId (identity) case_id: CaseId case_revision: integer claims: List<FrontierClaim> obligations: List<FrontierObligation> actions: List<FrontierAction> | states Issued; initial Issued | case references one Case |
Observation | observation_id: ObservationId (identity) source: string subject: string observed_at: timestamp payload: json | states Reported; initial Reported | — |
Run | run_id: RunId (identity) commission_id: CommissionId case_revision: integer | states Running, Suspended; initial Running suspend: Running → Suspended (SuspendRun) resume: Suspended → Running (ResumeRun) | requests owns many ActionRequest |
Suspension | suspension: SuspensionKey (identity) commission_id: CommissionId run_id: RunId run_case_revision: integer action_request_id: ActionRequestId case_id: CaseId expected_case_revision: integer action: string arguments: ProposedActionArguments reason: SuspensionReason | states Pending, Resuming; initial Pending take: Pending → Resuming (TakeSuspension) | run references one Run action_request references one ActionRequest case references one Case |
More columns: swipe horizontally, or focus the table and use the arrow keys.
Source: commission ess/commission/ compiled with ess 0.84.0
ActionBinding
Identity: binding, ActionBindingKey.
| Field | Type |
|---|---|
commission_id | CommissionId |
instance_id | ConnectorInstanceId |
operation_id | ConnectorOperationId |
effect | ConnectorOperationEffect |
More columns: swipe horizontally, or focus the table and use the arrow keys.
Lifecycle: states Declared; initial Declared; terminal Declared.
| Relation | Kind | Target | Cardinality | Via |
|---|---|---|---|---|
endpoint | references | ConnectorEndpoint | one | instance_id |
More columns: swipe horizontally, or focus the table and use the arrow keys.
ActionRequest
Identity: action_request_id, ActionRequestId.
| Field | Type |
|---|---|
run_id | RunId |
case_id | CaseId |
expected_case_revision | integer |
| action | string |
arguments | ProposedActionArguments |
More columns: swipe horizontally, or focus the table and use the arrow keys.
Lifecycle: states Requested; initial Requested; terminal Requested.
| Relation | Kind | Target | Cardinality | Via |
|---|---|---|---|---|
case | references | Case | one | case_id |
More columns: swipe horizontally, or focus the table and use the arrow keys.
Agent
Identity: agent_id, AgentId.
| Field | Type |
|---|---|
name | string |
More columns: swipe horizontally, or focus the table and use the arrow keys.
Lifecycle: states Registered; initial Registered; terminal Registered.
| Relation | Kind | Target | Cardinality | Via |
|---|---|---|---|---|
revisions | owns | AgentRevision | many | agent_id |
More columns: swipe horizontally, or focus the table and use the arrow keys.
AgentRevision
Identity: agent_revision_id, AgentRevisionId.
| Field | Type |
|---|---|
agent_id | AgentId |
revision | integer |
More columns: swipe horizontally, or focus the table and use the arrow keys.
Lifecycle: states Published; initial Published; terminal Published.
AuthorityDecision
Identity: authority_decision_id, AuthorityDecisionId.
| Field | Type |
|---|---|
| action | string |
granted | boolean |
action_request_id | ActionRequestId |
More columns: swipe horizontally, or focus the table and use the arrow keys.
Lifecycle: states Decided; initial Decided; terminal Decided.
| Relation | Kind | Target | Cardinality | Via |
|---|---|---|---|---|
action_request | references | ActionRequest | one | action_request_id |
More columns: swipe horizontally, or focus the table and use the arrow keys.
Case
Identity: case_id, CaseId.
| Field | Type |
|---|---|
protocol | string |
revision | integer |
More columns: swipe horizontally, or focus the table and use the arrow keys.
Lifecycle: states Open; initial Open; terminal Open.
Commission
Identity: commission_id, CommissionId.
| Field | Type |
|---|---|
agent_revision_id | AgentRevisionId |
case_id | CaseId |
principal | PrincipalId |
authority_context | AuthorityContext |
More columns: swipe horizontally, or focus the table and use the arrow keys.
Lifecycle: states Assigned; initial Assigned; terminal Assigned.
| Relation | Kind | Target | Cardinality | Via |
|---|---|---|---|---|
agent_revision | references | AgentRevision | one | agent_revision_id |
case | references | Case | one | case_id |
runs | owns | Run | many | commission_id |
bindings | owns | ActionBinding | many | commission_id |
suspension | owns | Suspension | one | commission_id |
More columns: swipe horizontally, or focus the table and use the arrow keys.
ConnectorEndpoint
Identity: instance_id, ConnectorInstanceId.
| Field | Type |
|---|---|
url | ConnectorEndpointUrl |
credential | ConnectorCredentialRef |
allow_plaintext | boolean |
More columns: swipe horizontally, or focus the table and use the arrow keys.
Lifecycle: states Declared; initial Declared; terminal Declared.
Evidence
Identity: evidence_id, EvidenceId.
| Field | Type |
|---|---|
case_id | CaseId |
kind | string |
subject_revision | integer |
producer | string |
observation_ids | list of ObservationId |
facts | json |
provenance | json |
More columns: swipe horizontally, or focus the table and use the arrow keys.
Lifecycle: states Submitted; initial Submitted; terminal Submitted.
| Relation | Kind | Target | Cardinality | Via |
|---|---|---|---|---|
case | references | Case | one | case_id |
observations | references | Observation | many | observation_ids |
More columns: swipe horizontally, or focus the table and use the arrow keys.
Frontier
Identity: frontier_id, FrontierId.
| Field | Type |
|---|---|
case_id | CaseId |
case_revision | integer |
claims | list of FrontierClaim |
obligations | list of FrontierObligation |
actions | list of FrontierAction |
More columns: swipe horizontally, or focus the table and use the arrow keys.
Lifecycle: states Issued; initial Issued; terminal Issued.
| Relation | Kind | Target | Cardinality | Via |
|---|---|---|---|---|
case | references | Case | one | case_id |
More columns: swipe horizontally, or focus the table and use the arrow keys.
Observation
Identity: observation_id, ObservationId.
| Field | Type |
|---|---|
source | string |
subject | string |
observed_at | timestamp |
payload | json |
More columns: swipe horizontally, or focus the table and use the arrow keys.
Lifecycle: states Reported; initial Reported; terminal Reported.
Run
Identity: run_id, RunId.
| Field | Type |
|---|---|
commission_id | CommissionId |
case_revision | integer |
More columns: swipe horizontally, or focus the table and use the arrow keys.
Lifecycle: states Running, Suspended; initial Running; terminal none.
| Transition | From | To |
|---|---|---|
suspend | Running | Suspended |
resume | Suspended | Running |
More columns: swipe horizontally, or focus the table and use the arrow keys.
| Relation | Kind | Target | Cardinality | Via |
|---|---|---|---|---|
requests | owns | ActionRequest | many | run_id |
More columns: swipe horizontally, or focus the table and use the arrow keys.
Suspension
Identity: suspension, SuspensionKey.
| Field | Type |
|---|---|
commission_id | CommissionId |
run_id | RunId |
run_case_revision | integer |
action_request_id | ActionRequestId |
case_id | CaseId |
expected_case_revision | integer |
| action | string |
arguments | ProposedActionArguments |
reason | SuspensionReason |
More columns: swipe horizontally, or focus the table and use the arrow keys.
Lifecycle: states Pending, Resuming; initial Pending; terminal Resuming.
| Transition | From | To |
|---|---|---|
take | Pending | Resuming |
More columns: swipe horizontally, or focus the table and use the arrow keys.
| Relation | Kind | Target | Cardinality | Via |
|---|---|---|---|---|
run | references | Run | one | run_id |
action_request | references | ActionRequest | one | action_request_id |
case | references | Case | one | case_id |
More columns: swipe horizontally, or focus the table and use the arrow keys.
Commands
HoldSuspension
| Input | Type |
|---|---|
suspension | SuspensionKey |
commission_id | CommissionId |
run_id | RunId |
run_case_revision | integer |
action_request_id | ActionRequestId |
case_id | CaseId |
expected_case_revision | integer |
| action | string |
arguments | ProposedActionArguments |
reason | SuspensionReason |
More columns: swipe horizontally, or focus the table and use the arrow keys.
| Outcome | When | Effect | Emits | Error |
|---|---|---|---|---|
settled | external | none | none | SuspensionSettled |
held | otherwise | creates Suspension | SuspensionHeld | none |
already-held | existing instance | none | none | SuspensionAlreadyHeld |
storage-failed | external | none | none | SuspensionStorageFailed |
More columns: swipe horizontally, or focus the table and use the arrow keys.
JudgeBudgetStop
| Input | Type |
|---|---|
pending | list of ActionRequestId |
reason | SuspensionReason |
More columns: swipe horizontally, or focus the table and use the arrow keys.
| Outcome | When | Effect | Emits | Error |
|---|---|---|---|---|
waiting | when | none | none | RequestsWaiting |
suspended | otherwise | none | none | none |
More columns: swipe horizontally, or focus the table and use the arrow keys.
JudgeEffectRefusal
| Input | Type |
|---|---|
action_request_id | ActionRequestId |
reason | string |
ends_run | boolean |
More columns: swipe horizontally, or focus the table and use the arrow keys.
| Outcome | When | Effect | Emits | Error |
|---|---|---|---|---|
final | when | none | none | EffectRefusedFinal |
ordinary | otherwise | none | none | none |
More columns: swipe horizontally, or focus the table and use the arrow keys.
JudgeIdleIteration
| Input | Type |
|---|---|
idle_iterations | integer |
bound | integer |
More columns: swipe horizontally, or focus the table and use the arrow keys.
| Outcome | When | Effect | Emits | Error |
|---|---|---|---|---|
bound | when | none | none | IdleBoundReached |
below | otherwise | none | none | none |
More columns: swipe horizontally, or focus the table and use the arrow keys.
JudgePerformableActions
| Input | Type |
|---|---|
performed | integer |
unperformed | list of string |
open_claims | list of string |
More columns: swipe horizontally, or focus the table and use the arrow keys.
| Outcome | When | Effect | Emits | Error |
|---|---|---|---|---|
unperformable | when | none | none | ActionsUnperformable |
performable | otherwise | none | none | none |
More columns: swipe horizontally, or focus the table and use the arrow keys.
ReleaseSuspension
| Input | Type |
|---|---|
suspension | SuspensionKey |
action_request_id | ActionRequestId |
More columns: swipe horizontally, or focus the table and use the arrow keys.
| Outcome | When | Effect | Emits | Error |
|---|---|---|---|---|
other-request | subject predicate | none | none | SuspensionRequestMismatch |
not-taken | subject predicate | none | none | SuspensionStateConflict |
released | otherwise | deletes Suspension | SuspensionReleased | none |
not-found | unknown instance | none | none | SuspensionNotFound |
storage-failed | external | none | none | SuspensionStorageFailed |
More columns: swipe horizontally, or focus the table and use the arrow keys.
ResumeRun
| Input | Type |
|---|---|
run_id | RunId |
More columns: swipe horizontally, or focus the table and use the arrow keys.
| Outcome | When | Effect | Emits | Error |
|---|---|---|---|---|
resumed | otherwise | moves Run by resume, from Suspended to Running | RunResumed | none |
wrong-state | wrong state | refused | none | RunStateConflict |
storage-failed | external | none | none | RunStorageFailed |
More columns: swipe horizontally, or focus the table and use the arrow keys.
RevalidateActionRequest
| Input | Type |
|---|---|
action_request_id | ActionRequestId |
run_id | RunId |
case_id | CaseId |
expected_case_revision | integer |
| action | string |
arguments | ProposedActionArguments |
More columns: swipe horizontally, or focus the table and use the arrow keys.
| Outcome | When | Effect | Emits | Error |
|---|---|---|---|---|
stale | external | none | none | ActionRequestStale |
not-admitted | external | none | none | ActionNotAdmitted |
needs-authority | external | none | none | ActionNeedsAuthority |
admitted | otherwise | none | none | none |
More columns: swipe horizontally, or focus the table and use the arrow keys.
StartRun
| Input | Type |
|---|---|
commission_id | CommissionId |
case_revision | integer |
More columns: swipe horizontally, or focus the table and use the arrow keys.
| Outcome | When | Effect | Emits | Error |
|---|---|---|---|---|
started | otherwise | creates Run | RunStarted | none |
storage-failed | external | none | none | RunStorageFailed |
More columns: swipe horizontally, or focus the table and use the arrow keys.
SuspendRun
| Input | Type |
|---|---|
run_id | RunId |
reason | SuspensionReason |
More columns: swipe horizontally, or focus the table and use the arrow keys.
| Outcome | When | Effect | Emits | Error |
|---|---|---|---|---|
suspended | otherwise | moves Run by suspend, from Running to Suspended | RunSuspended | none |
wrong-state | wrong state | refused | none | RunStateConflict |
storage-failed | external | none | none | RunStorageFailed |
More columns: swipe horizontally, or focus the table and use the arrow keys.
TakeSuspension
| Input | Type |
|---|---|
suspension | SuspensionKey |
action_request_id | ActionRequestId |
More columns: swipe horizontally, or focus the table and use the arrow keys.
| Outcome | When | Effect | Emits | Error |
|---|---|---|---|---|
other-request | subject predicate | none | none | SuspensionRequestMismatch |
taken | otherwise | moves Suspension by take, from Pending to Resuming | SuspensionTaken | none |
not-found | unknown instance | none | none | SuspensionNotFound |
wrong-state | wrong state | refused | none | SuspensionStateConflict |
storage-failed | external | none | none | SuspensionStorageFailed |
More columns: swipe horizontally, or focus the table and use the arrow keys.
Events
RunResumed
| Field | Type |
|---|---|
run_id | RunId |
More columns: swipe horizontally, or focus the table and use the arrow keys.
RunStarted
| Field | Type |
|---|---|
run_id | RunId |
commission_id | CommissionId |
case_revision | integer |
More columns: swipe horizontally, or focus the table and use the arrow keys.
RunSuspended
| Field | Type |
|---|---|
run_id | RunId |
reason | SuspensionReason |
More columns: swipe horizontally, or focus the table and use the arrow keys.
SuspensionHeld
| Field | Type |
|---|---|
suspension | SuspensionKey |
run_id | RunId |
action_request_id | ActionRequestId |
More columns: swipe horizontally, or focus the table and use the arrow keys.
SuspensionReleased
| Field | Type |
|---|---|
suspension | SuspensionKey |
More columns: swipe horizontally, or focus the table and use the arrow keys.
SuspensionTaken
| Field | Type |
|---|---|
suspension | SuspensionKey |
action_request_id | ActionRequestId |
More columns: swipe horizontally, or focus the table and use the arrow keys.
Errors
ActionNeedsAuthority
| Field | Type |
|---|---|
| action | string |
capability | string |
More columns: swipe horizontally, or focus the table and use the arrow keys.
ActionNotAdmitted
| Field | Type |
|---|---|
| action | string |
reasons | list of string |
More columns: swipe horizontally, or focus the table and use the arrow keys.
ActionRequestStale
| Field | Type |
|---|---|
expected_case_revision | integer |
current_case_revision | integer |
More columns: swipe horizontally, or focus the table and use the arrow keys.
ActionsUnperformable
| Field | Type |
|---|---|
actions | list of string |
open_claims | list of string |
More columns: swipe horizontally, or focus the table and use the arrow keys.
EffectRefusedFinal
| Field | Type |
|---|---|
action_request_id | ActionRequestId |
reason | string |
More columns: swipe horizontally, or focus the table and use the arrow keys.
IdleBoundReached
| Field | Type |
|---|---|
idle_iterations | integer |
More columns: swipe horizontally, or focus the table and use the arrow keys.
RequestsWaiting
| Field | Type |
|---|---|
action_request_ids | list of ActionRequestId |
reason | SuspensionReason |
More columns: swipe horizontally, or focus the table and use the arrow keys.
RunStateConflict
| Field | Type |
|---|---|
state | Run.State |
More columns: swipe horizontally, or focus the table and use the arrow keys.
RunStorageFailed
| Field | Type |
|---|---|
reason | string |
More columns: swipe horizontally, or focus the table and use the arrow keys.
SuspensionAlreadyHeld
| Field | Type |
|---|---|
suspension | SuspensionKey |
More columns: swipe horizontally, or focus the table and use the arrow keys.
SuspensionNotFound
| Field | Type |
|---|---|
suspension | SuspensionKey |
More columns: swipe horizontally, or focus the table and use the arrow keys.
SuspensionRequestMismatch
| Field | Type |
|---|---|
suspension | SuspensionKey |
held_action_request_id | ActionRequestId |
action_request_id | ActionRequestId |
More columns: swipe horizontally, or focus the table and use the arrow keys.
SuspensionSettled
| Field | Type |
|---|---|
suspension | SuspensionKey |
action_request_id | ActionRequestId |
reason | string |
More columns: swipe horizontally, or focus the table and use the arrow keys.
SuspensionStateConflict
| Field | Type |
|---|---|
state | Suspension.State |
action_request_id | ActionRequestId |
More columns: swipe horizontally, or focus the table and use the arrow keys.
SuspensionStorageFailed
| Field | Type |
|---|---|
reason | string |
More columns: swipe horizontally, or focus the table and use the arrow keys.
Views
RunStates
Projects Run; consistency read_your_writes.
| Field | Type |
|---|---|
run_id | RunId |
commission_id | CommissionId |
case_revision | integer |
state | Run.State |
More columns: swipe horizontally, or focus the table and use the arrow keys.
SuspensionStates
Projects Suspension; consistency read_your_writes.
| Field | Type |
|---|---|
suspension | SuspensionKey |
commission_id | CommissionId |
run_id | RunId |
action_request_id | ActionRequestId |
state | Suspension.State |
More columns: swipe horizontally, or focus the table and use the arrow keys.