Skip to main content
Generated page

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

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
ENTITY · 5 FIELDSActionBindingDeclaredENTITY · 6 FIELDSActionRequestRequestedENTITY · 2 FIELDSAgentRegisteredENTITY · 3 FIELDSAgentRevisionPublishedENTITY · 4 FIELDSAuthorityDecisionDecidedENTITY · 3 FIELDSCaseOpenENTITY · 5 FIELDSCommissionAssignedENTITY · 4 FIELDSConnectorEndpointDeclaredENTITY · 8 FIELDSEvidenceSubmittedENTITY · 6 FIELDSFrontierIssuedENTITY · 5 FIELDSObservationReportedENTITY · 3 FIELDSRunRunningSuspendedENTITY · 10 FIELDSSuspensionPendingResuming

Hover or focus an entity to see its fields, lifecycle and relations. Press Enter to pin it, Escape to clear.

Lifecycles with transitions

Run
Suspension
Domain as text
Entities
EntityIdentity and fieldsLifecycleRelations
ActionBindingbinding: ActionBindingKey (identity) commission_id: CommissionId instance_id: ConnectorInstanceId operation_id: ConnectorOperationId effect: ConnectorOperationEffectstates Declared; initial Declaredendpoint references one ConnectorEndpoint
ActionRequestaction_request_id: ActionRequestId (identity) run_id: RunId case_id: CaseId expected_case_revision: integer action: string arguments: ProposedActionArgumentsstates Requested; initial Requestedcase references one Case
Agentagent_id: AgentId (identity) name: stringstates Registered; initial Registeredrevisions owns many AgentRevision
AgentRevisionagent_revision_id: AgentRevisionId (identity) agent_id: AgentId revision: integerstates Published; initial Published—
AuthorityDecisionauthority_decision_id: AuthorityDecisionId (identity) action: string granted: boolean action_request_id: ActionRequestIdstates Decided; initial Decidedaction_request references one ActionRequest
Casecase_id: CaseId (identity) protocol: string revision: integerstates Open; initial Open—
Commissioncommission_id: CommissionId (identity) agent_revision_id: AgentRevisionId case_id: CaseId principal: PrincipalId authority_context: AuthorityContextstates Assigned; initial Assignedagent_revision references one AgentRevision case references one Case runs owns many Run bindings owns many ActionBinding suspension owns one Suspension
ConnectorEndpointinstance_id: ConnectorInstanceId (identity) url: ConnectorEndpointUrl credential: ConnectorCredentialRef allow_plaintext: booleanstates Declared; initial Declared—
Evidenceevidence_id: EvidenceId (identity) case_id: CaseId kind: string subject_revision: integer producer: string observation_ids: List<ObservationId> facts: json provenance: jsonstates Submitted; initial Submittedcase references one Case observations references many Observation
Frontierfrontier_id: FrontierId (identity) case_id: CaseId case_revision: integer claims: List<FrontierClaim> obligations: List<FrontierObligation> actions: List<FrontierAction>states Issued; initial Issuedcase references one Case
Observationobservation_id: ObservationId (identity) source: string subject: string observed_at: timestamp payload: jsonstates Reported; initial Reported—
Runrun_id: RunId (identity) commission_id: CommissionId case_revision: integerstates Running, Suspended; initial Running suspend: Running → Suspended (SuspendRun) resume: Suspended → Running (ResumeRun)requests owns many ActionRequest
Suspensionsuspension: 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: SuspensionReasonstates Pending, Resuming; initial Pending take: Pending → Resuming (TakeSuspension)run references one Run action_request references one ActionRequest case references one Case

Source: commission ess/commission/ compiled with ess 0.84.0

ActionBinding​

Identity: binding, ActionBindingKey.

FieldType
commission_idCommissionId
instance_idConnectorInstanceId
operation_idConnectorOperationId
effectConnectorOperationEffect

Lifecycle: states Declared; initial Declared; terminal Declared.

RelationKindTargetCardinalityVia
endpointreferencesConnectorEndpointoneinstance_id

ActionRequest​

Identity: action_request_id, ActionRequestId.

FieldType
run_idRunId
case_idCaseId
expected_case_revisioninteger
actionstring
argumentsProposedActionArguments

Lifecycle: states Requested; initial Requested; terminal Requested.

RelationKindTargetCardinalityVia
casereferencesCaseonecase_id

Agent​

Identity: agent_id, AgentId.

FieldType
namestring

Lifecycle: states Registered; initial Registered; terminal Registered.

RelationKindTargetCardinalityVia
revisionsownsAgentRevisionmanyagent_id

AgentRevision​

Identity: agent_revision_id, AgentRevisionId.

FieldType
agent_idAgentId
revisioninteger

Lifecycle: states Published; initial Published; terminal Published.

AuthorityDecision​

Identity: authority_decision_id, AuthorityDecisionId.

FieldType
actionstring
grantedboolean
action_request_idActionRequestId

Lifecycle: states Decided; initial Decided; terminal Decided.

RelationKindTargetCardinalityVia
action_requestreferencesActionRequestoneaction_request_id

Case​

Identity: case_id, CaseId.

FieldType
protocolstring
revisioninteger

Lifecycle: states Open; initial Open; terminal Open.

Commission​

Identity: commission_id, CommissionId.

FieldType
agent_revision_idAgentRevisionId
case_idCaseId
principalPrincipalId
authority_contextAuthorityContext

Lifecycle: states Assigned; initial Assigned; terminal Assigned.

RelationKindTargetCardinalityVia
agent_revisionreferencesAgentRevisiononeagent_revision_id
casereferencesCaseonecase_id
runsownsRunmanycommission_id
bindingsownsActionBindingmanycommission_id
suspensionownsSuspensiononecommission_id

ConnectorEndpoint​

Identity: instance_id, ConnectorInstanceId.

FieldType
urlConnectorEndpointUrl
credentialConnectorCredentialRef
allow_plaintextboolean

Lifecycle: states Declared; initial Declared; terminal Declared.

Evidence​

Identity: evidence_id, EvidenceId.

FieldType
case_idCaseId
kindstring
subject_revisioninteger
producerstring
observation_idslist of ObservationId
factsjson
provenancejson

Lifecycle: states Submitted; initial Submitted; terminal Submitted.

RelationKindTargetCardinalityVia
casereferencesCaseonecase_id
observationsreferencesObservationmanyobservation_ids

Frontier​

Identity: frontier_id, FrontierId.

FieldType
case_idCaseId
case_revisioninteger
claimslist of FrontierClaim
obligationslist of FrontierObligation
actionslist of FrontierAction

Lifecycle: states Issued; initial Issued; terminal Issued.

RelationKindTargetCardinalityVia
casereferencesCaseonecase_id

Observation​

Identity: observation_id, ObservationId.

FieldType
sourcestring
subjectstring
observed_attimestamp
payloadjson

Lifecycle: states Reported; initial Reported; terminal Reported.

Run​

Identity: run_id, RunId.

FieldType
commission_idCommissionId
case_revisioninteger

Lifecycle: states Running, Suspended; initial Running; terminal none.

TransitionFromTo
suspendRunningSuspended
resumeSuspendedRunning
RelationKindTargetCardinalityVia
requestsownsActionRequestmanyrun_id

Suspension​

Identity: suspension, SuspensionKey.

FieldType
commission_idCommissionId
run_idRunId
run_case_revisioninteger
action_request_idActionRequestId
case_idCaseId
expected_case_revisioninteger
actionstring
argumentsProposedActionArguments
reasonSuspensionReason

Lifecycle: states Pending, Resuming; initial Pending; terminal Resuming.

TransitionFromTo
takePendingResuming
RelationKindTargetCardinalityVia
runreferencesRunonerun_id
action_requestreferencesActionRequestoneaction_request_id
casereferencesCaseonecase_id

Commands​

HoldSuspension​

InputType
suspensionSuspensionKey
commission_idCommissionId
run_idRunId
run_case_revisioninteger
action_request_idActionRequestId
case_idCaseId
expected_case_revisioninteger
actionstring
argumentsProposedActionArguments
reasonSuspensionReason
OutcomeWhenEffectEmitsError
settledexternalnonenoneSuspensionSettled
heldotherwisecreates SuspensionSuspensionHeldnone
already-heldexisting instancenonenoneSuspensionAlreadyHeld
storage-failedexternalnonenoneSuspensionStorageFailed

JudgeBudgetStop​

InputType
pendinglist of ActionRequestId
reasonSuspensionReason
OutcomeWhenEffectEmitsError
waitingwhennonenoneRequestsWaiting
suspendedotherwisenonenonenone

JudgeEffectRefusal​

InputType
action_request_idActionRequestId
reasonstring
ends_runboolean
OutcomeWhenEffectEmitsError
finalwhennonenoneEffectRefusedFinal
ordinaryotherwisenonenonenone

JudgeIdleIteration​

InputType
idle_iterationsinteger
boundinteger
OutcomeWhenEffectEmitsError
boundwhennonenoneIdleBoundReached
belowotherwisenonenonenone

JudgePerformableActions​

InputType
performedinteger
unperformedlist of string
open_claimslist of string
OutcomeWhenEffectEmitsError
unperformablewhennonenoneActionsUnperformable
performableotherwisenonenonenone

ReleaseSuspension​

InputType
suspensionSuspensionKey
action_request_idActionRequestId
OutcomeWhenEffectEmitsError
other-requestsubject predicatenonenoneSuspensionRequestMismatch
not-takensubject predicatenonenoneSuspensionStateConflict
releasedotherwisedeletes SuspensionSuspensionReleasednone
not-foundunknown instancenonenoneSuspensionNotFound
storage-failedexternalnonenoneSuspensionStorageFailed

ResumeRun​

InputType
run_idRunId
OutcomeWhenEffectEmitsError
resumedotherwisemoves Run by resume, from Suspended to RunningRunResumednone
wrong-statewrong staterefusednoneRunStateConflict
storage-failedexternalnonenoneRunStorageFailed

RevalidateActionRequest​

InputType
action_request_idActionRequestId
run_idRunId
case_idCaseId
expected_case_revisioninteger
actionstring
argumentsProposedActionArguments
OutcomeWhenEffectEmitsError
staleexternalnonenoneActionRequestStale
not-admittedexternalnonenoneActionNotAdmitted
needs-authorityexternalnonenoneActionNeedsAuthority
admittedotherwisenonenonenone

StartRun​

InputType
commission_idCommissionId
case_revisioninteger
OutcomeWhenEffectEmitsError
startedotherwisecreates RunRunStartednone
storage-failedexternalnonenoneRunStorageFailed

SuspendRun​

InputType
run_idRunId
reasonSuspensionReason
OutcomeWhenEffectEmitsError
suspendedotherwisemoves Run by suspend, from Running to SuspendedRunSuspendednone
wrong-statewrong staterefusednoneRunStateConflict
storage-failedexternalnonenoneRunStorageFailed

TakeSuspension​

InputType
suspensionSuspensionKey
action_request_idActionRequestId
OutcomeWhenEffectEmitsError
other-requestsubject predicatenonenoneSuspensionRequestMismatch
takenotherwisemoves Suspension by take, from Pending to ResumingSuspensionTakennone
not-foundunknown instancenonenoneSuspensionNotFound
wrong-statewrong staterefusednoneSuspensionStateConflict
storage-failedexternalnonenoneSuspensionStorageFailed

Events​

RunResumed​

FieldType
run_idRunId

RunStarted​

FieldType
run_idRunId
commission_idCommissionId
case_revisioninteger

RunSuspended​

FieldType
run_idRunId
reasonSuspensionReason

SuspensionHeld​

FieldType
suspensionSuspensionKey
run_idRunId
action_request_idActionRequestId

SuspensionReleased​

FieldType
suspensionSuspensionKey

SuspensionTaken​

FieldType
suspensionSuspensionKey
action_request_idActionRequestId

Errors​

ActionNeedsAuthority​

FieldType
actionstring
capabilitystring

ActionNotAdmitted​

FieldType
actionstring
reasonslist of string

ActionRequestStale​

FieldType
expected_case_revisioninteger
current_case_revisioninteger

ActionsUnperformable​

FieldType
actionslist of string
open_claimslist of string

EffectRefusedFinal​

FieldType
action_request_idActionRequestId
reasonstring

IdleBoundReached​

FieldType
idle_iterationsinteger

RequestsWaiting​

FieldType
action_request_idslist of ActionRequestId
reasonSuspensionReason

RunStateConflict​

FieldType
stateRun.State

RunStorageFailed​

FieldType
reasonstring

SuspensionAlreadyHeld​

FieldType
suspensionSuspensionKey

SuspensionNotFound​

FieldType
suspensionSuspensionKey

SuspensionRequestMismatch​

FieldType
suspensionSuspensionKey
held_action_request_idActionRequestId
action_request_idActionRequestId

SuspensionSettled​

FieldType
suspensionSuspensionKey
action_request_idActionRequestId
reasonstring

SuspensionStateConflict​

FieldType
stateSuspension.State
action_request_idActionRequestId

SuspensionStorageFailed​

FieldType
reasonstring

Views​

RunStates​

Projects Run; consistency read_your_writes.

FieldType
run_idRunId
commission_idCommissionId
case_revisioninteger
stateRun.State

SuspensionStates​

Projects Suspension; consistency read_your_writes.

FieldType
suspensionSuspensionKey
commission_idCommissionId
run_idRunId
action_request_idActionRequestId
stateSuspension.State