Skip to content

Capabilities

Named actions, checked and recorded.

Every action in CORE is a capability: a name, a typed input, a permission check and an event. There are no routes that bypass it and no dashboards that own it.

Definition

What a capability is

A capability is a named action with a typed input. Invoking it runs four steps in order: resolve the identity, check the permission, execute the handler in a transaction and emit the event. If any step fails, nothing is written.

Reads are capabilities too. page.get and catalog.list go through the same identity check as site.publish; they simply emit no event, because nothing changed.

Name
site.content.update
Access
Member of the organization
Emits
site.content.updated
Does
Propose a content change as a new revision; publishing is a separate step.

Naming

domain.entity.verb

Names are lower-case words joined by dots, two to four segments long: the domain, optionally the entity, then the verb. site.publish, catalog.product.update and permission.grant all follow the rule.

The name is the contract. An interface asks for site.content.update and does not care whether the handler lives in this process or on a hosted CORE.

Pattern^[a-z]+(?:\.[a-z]+){1,3}$
Three capability names split into domain, entity and verb
NameDomainEntityVerb
site.publishsitenonepublish
catalog.product.updatecatalogproductupdate
permission.grantpermissionnonegrant

Origins

Same action, five origins

site.content.update can arrive from an editor’s form, an API call, an agent’s decision, a scheduled automation or a chat message. The check is identical: the same identity resolution, the same permission formula, the same event.

The origin is recorded on the event, so the audit log can answer which changes agents made this week without a separate system.

  • Interface: a form or button in a website or application.
  • API: a request from another system, authenticated with a token.
  • Agent: an action proposed or executed by an agent with its own identity.
  • Automation: a scheduled job or an event trigger.
  • 2finity.chat: a message resolved to an intent and then to a capability.

The same authorized action can originate from Interface, API, Agent, Automation or 2finity.chat.

  1. Identity: identity.current()
  2. Permission: permissions.can()
  3. Capability: site.content.update
  4. Event: site.content.updated
Illustration

Catalogue

Capabilities by layer

Each layer exposes its own capabilities, and every featured capability on this site appears in exactly one layer. The catalogue is generated from the layer model, so it cannot drift from the pages that describe each layer.

01 Identity

Open layer

Who or what is acting?

Capabilities of the Identity layer
CapabilityDescriptionAccessEmits
identity.currentReturn the acting identity for the current session or token.Publicnone (read)
identity.verifynot listednot listednot listed
identity.linknot listednot listednot listed
session.createnot listednot listednot listed
session.revokenot listednot listednot listed
permission.grantGrant an identity a role or capability on a resource inside an organization.Privileged role or approvalpermission.granted
permission.revokenot listednot listednot listed
permission.checkAnswer whether an actor may invoke a capability on a resource.Member of the organizationnone (read)

02 Organizations

Open layer

Inside which boundary?

Capabilities of the Organizations layer
CapabilityDescriptionAccessEmits
organization.getRead an organization and its boundary settings.Member of the organizationnone (read)
organization.createnot listednot listednot listed
organization.updatenot listednot listednot listed
team.createnot listednot listednot listed
team.member.addnot listednot listednot listed
department.createnot listednot listednot listed
membership.inviteInvite a person into an organization with a role.Privileged role or approvalmembership.invited
membership.revokenot listednot listednot listed

03 People

Open layer

Who do we work with?

Capabilities of the People layer
CapabilityDescriptionAccessEmits
person.getnot listednot listednot listed
person.createnot listednot listednot listed
person.updatenot listednot listednot listed
person.mergenot listednot listednot listed
customer.getRead a customer record with its relationships to the organization.Member of the organizationnone (read)
lead.createnot listednot listednot listed
lead.qualifynot listednot listednot listed
lead.listList leads, filterable by source, region and period.Member of the organizationnone (read)

04 Relationships

Open layer

How are they connected?

Capabilities of the Relationships layer
CapabilityDescriptionAccessEmits
relationship.createConnect two parties with a typed relationship and validity period.Privileged role or approvalrelationship.created
relationship.getnot listednot listednot listed
relationship.listnot listednot listednot listed
relationship.endnot listednot listednot listed
role.grantnot listednot listednot listed
role.revokenot listednot listednot listed
partner.linknot listednot listednot listed
agent.owner.setAssign the human or organization accountable for an agent.Privileged role or approvalagent.owner.changed

05 Knowledge

Open layer

What do we know and publish?

Capabilities of the Knowledge layer
CapabilityDescriptionAccessEmits
site.content.updatePropose a content change as a new revision; publishing is a separate step.Member of the organizationsite.content.updated
site.publishPublish pending revisions of a site or page.Privileged role or approvalsite.published
page.getRead a published page by route or id.Publicnone (read)
page.createCreate a page from a brief or template as a draft revision.Member of the organizationpage.created
document.createnot listednot listednot listed
document.getnot listednot listednot listed
policy.getnot listednot listednot listed
knowledge.searchnot listednot listednot listed

06 Workflows

Open layer

How does work move?

Capabilities of the Workflows layer
CapabilityDescriptionAccessEmits
workflow.startStart a workflow instance for an entity.Member of the organizationworkflow.started
workflow.getnot listednot listednot listed
task.createnot listednot listednot listed
task.completenot listednot listednot listed
approval.requestnot listednot listednot listed
approval.decideApprove or reject a pending step.Privileged role or approvalapproval.decided
deployment.publishPromote a revision set to live.Privileged role or approvaldeployment.published
deployment.rollbackReturn a site or application to a previous revision.Privileged role or approvaldeployment.rolled_back

07 Commerce

Open layer

What do we sell?

Capabilities of the Commerce layer
CapabilityDescriptionAccessEmits
catalog.listList published products and services, optionally by category.Publicnone (read)
catalog.product.getRead one product with variants and prices.Publicnone (read)
catalog.product.updateChange product data as a draft.Member of the organizationcatalog.product.updated
catalog.product.publishMake a product visible in the catalog.Privileged role or approvalcatalog.product.published
quote.createnot listednot listednot listed
cart.addnot listednot listednot listed
order.createnot listednot listednot listed
order.updateChange an order's state, lines or delivery.Member of the organizationorder.updated

08 Finance

Open layer

What is owed and paid?

Capabilities of the Finance layer
CapabilityDescriptionAccessEmits
invoice.createCreate an invoice from an order or by hand.Member of the organizationinvoice.created
invoice.getnot listednot listednot listed
invoice.sendnot listednot listednot listed
invoice.voidnot listednot listednot listed
payment.recordnot listednot listednot listed
payment.listnot listednot listednot listed
cost.recordnot listednot listednot listed
ledger.exportnot listednot listednot listed

09 Communication

Open layer

How do we talk?

Capabilities of the Communication layer
CapabilityDescriptionAccessEmits
conversation.createnot listednot listednot listed
conversation.getnot listednot listednot listed
message.sendSend a message into a conversation on behalf of the actor.Member of the organizationmessage.sent
message.listnot listednot listednot listed
notification.sendNotify people or agents about an event.Member of the organizationnotification.sent
notification.subscribenot listednot listednot listed
channel.connectnot listednot listednot listed
thread.resolvenot listednot listednot listed

10 Data

Open layer

What happened, and what do we have?

Capabilities of the Data layer
CapabilityDescriptionAccessEmits
entity.getnot listednot listednot listed
entity.listnot listednot listednot listed
entity.type.definenot listednot listednot listed
event.emitnot listednot listednot listed
event.queryQuery events by name, actor, resource and period.Member of the organizationnone (read)
audit.listList audited actions for an organization.Privileged role or approvalnone (read)
report.runnot listednot listednot listed
form.submitRecord a form submission as an entity and emit an event.Publicform.submitted

Access

Three access levels

Public capabilities need no identity beyond the public actor. Member capabilities require a relationship with the organization. Privileged capabilities require a role that grants them, or an approval before execution.

  • Public: readable by anyone, such as page.get and catalog.list.
  • Member of the organization: customer.get, workflow.start, invoice.create.
  • Privileged role or approval: site.publish, permission.grant, deployment.rollback.
Public
identity.currentpage.getcatalog.listcatalog.product.getform.submit
Member of the organization
permission.checkorganization.getcustomer.getlead.listsite.content.updatepage.createworkflow.startcatalog.product.updateorder.updateinvoice.createmessage.sendnotification.sendevent.query
Privileged role or approval
permission.grantmembership.inviterelationship.createagent.owner.setsite.publishapproval.decidedeployment.publishdeployment.rollbackcatalog.product.publishaudit.list

The featured capabilities at each level. The catalogue above lists every name.

Agents

From intent to event

An agent does not call a database. It forms an intent and resolves it to a capability, and CORE does the rest: identity, permission, execution, event. The agent sees the result; the organization sees the audit trail.

  1. Intent
  2. Identity
  3. Permission
  4. Capability
  5. Event / Audit
Illustration

Next

Agents invoke these. The architecture checks them.