Skip to Content
ConceptsAgentic accountability
Concepts

Agentic accountability, three questions kept apart.

Organisations now run AI agents that take actions on their behalf. For each agent, someone needs to be able to answer three different questions: what the agent can do, what it is allowed to do, and who answers for what it does. NovusLens holds these as three separate records beside what the organisation’s own systems report the agent actually did. It reads them, compares them and shows the gaps. It does not run the agent.

Throughout this page, CapabilityCapabilityWhat a team can provide or an agent can do. NovusLens records the claim and the evidence that supports it. · AuthorityAuthorityWhat a team or agent is allowed to decide or do. For an agent, this comes from a named person or system that grants permission. · ResponsibilityResponsibilityThe work or result that a team or agent answers for. NovusLens records the person answerable for it. is written out in full. The abbreviation C/A/RC/A/RThree separate scores for a team or service: Complexity, Agility and Recoverability. Each uses current evidence and the customer’s stated scoring rules. belongs to a different measure, Complexity, Agility and RecoverabilityRecoverabilityThe R in C/A/R: how well a team or service restores acceptable service after a failure. Recovery times and tested alternatives can supply evidence., described on its own page. The three agentic questions are never shortened to initials.

Three declared records are kept apart and compared with activity the customer's own runtime reports. The gap is the finding.

What it is

For each operational AI agent, the mapMapThe view of teams, services and their dependencies for the selected part of the organisation. Details appear beside the map. keeps three questions apart.

  • Capability is what the agent can do, as it declares.
  • Authority is what it may do. That is a recorded grant or a remitRemitA written list of an agent’s allowed actions, resources and destinations for information. The list states whether it is complete. from a named issuer.
  • Responsibility names who answers for the result: the accountable ownerAccountable ownerThe person recorded as answerable for a team, service or agent. NovusLens does not assume that this person is also the one who runs it day to day..

The Governance view places these declarations beside what the observing sources report. The gap between them is the findingFindingA difference in the records that needs a decision. It includes its sources and can describe a slow handoff, disputed fact or missing owner.. Examples include activity outside an agent’s declared scopeScopeThe work, data, activity or access that a rule, statement or calculation covers. For access, it names the records an account can see. For team measures, “Own operations” covers the selected unit. “Including descendants” adds the units beneath it., authority with no accountable owner and activity that contradicts a declared service level.

An example

A purchasing agent has a remit. It may prepare orders and read supplier records. It may not submit orders. Its remit is declared complete, so any action outside the two allowed operations counts.

The organisation’s own runtimeRuntimeThe software that runs a model or agent. A model runtime answers model requests; an agent runtime carries out the customer's agent actions. logs a submission. NovusLens reads that activity record, compares it with the remit, and reports:

Outside the recorded remit. The operation “submit order” is explicitly excluded by the remit. The result names the set and the value that failed.

The result does not say why the agent submitted the order, and it does not stop the next one. It gives the responsible person a record to review.

The AI agents view of the Meridian Grid demonstration map. Two agents are listed, each with its declared authority, its accountable owner and its shown status.
The AI agents view, on the Meridian Grid demonstration organisation. Meridian Grid is a fictional demonstration organisation. The first agent has declared authority and no accountable owner recorded, which raises a finding. The second has an owner and no open gaps. Meridian Grid is a fictional demonstration organisation.

How to read the result

A remit check gives one of five results. The words are chosen so that an incomplete record never reads as an all-clear.

ResultWhat it means
Inside the recorded remitEvery part of the activity that could be checked falls within the allowed lists.
Outside the recorded remitThe activity breaks an explicit exclusion, or falls outside a list the issuer has declared complete. The result names the failed set.
Authority not established (review required)No eligible remit applies, or the list is not declared complete. An incomplete inventory never proves that an action was prohibited.
Cannot be statedThe records lack a value the check needs, such as the destination. This is not an all-clear.
Conflicting evidenceTwo eligible remits overlap. The overlap needs explicit reconciliation.

Refusals need their own reading. The runtime can report what it did with an attempt, and NovusLens keeps those reports apart.

  • Refused and reported blocked means the resource says it stopped the attempt. The attempt is still recorded, but it is not counted as activity that went beyond the remit, and it does not enter a drift finding.
  • Refused, execution unresolved means the resource refused the request but did not confirm whether anything ran. The attempt counts until the resource reports it blocked.
  • Refused yet recorded as completed is a difference between refusal and completion in the runtime’s own records. NovusLens names it.
  • Unknown execution establishes no outcome.

Attribution follows the source. When several workers act through one shared credential, the result is attributed to the group. NovusLens does not guess which worker acted. A worker is named only when the source identifies that worker or its session.

Two agent-level findings are worth knowing. control-gap-overdelegation means an agent holds declared authority and names no accountable owner. control-gap-declaration-missing means an agent shows reported activity but no mapped declaration exists, so the records cannot establish whether the activity was declared. In the governance code, that second finding is deliberately not a breach claim.

Fleet incidents

A fleet incidentFleet incidentA finding about several agents that completed the same operation above their recorded limits in one period. The agents must share something recorded in the model. groups agents that completed the same operation above their limits within one window. The map must establish something they share. The shared thing is one of three bases:

  1. the agents serve the same organisational unit;
  2. they depend on the same provider;
  3. they act under the same grant issuer and grant version.

Without a shared basis, unrelated cases stay separate. One agent crossing its limit three times is one agent’s case, not a fleetFleetA group of AI agents considered together. Related activity can be grouped only when the records establish what the agents share.. The window defaults to fifteen minutes and is an operator setting on the active evidence policyEvidence policyThe operator’s rules for which agent reports count and for how long. The default period for grouping related events is fifteen minutes..

A fleet incident says what the members have in common. It never says why. If a member’s record is later corrected, the finding keeps its members and leads with what is currently supported, for example “Currently supported: 2 of 3 members (1 corrected)”. The original calculation is kept as history.

Agents above their limits on the same kind of operation, in one window, with one shared basis. The window is an operator setting.

What was declared, and what was observed

NovusLens keeps two sides apart. The declared side is what was declared or granted: the remit, the grant, the accountable owner. The observed side is what the observing sources report the agent did. A finding is the difference between them, and each side carries its own provenanceProvenanceThe record of where a value came from, who stated it and when. Every value keeps this record..

The observed side comes from the organisation’s own observation. NovusLens does not watch the agent. Where a source is simulated, as in the demonstration estate, the finding says so.

Operational owner and accountable owner

These are different things, and the product keeps them different.

  • The operational ownerOperational ownerThe person who runs a team or service day to day. This is not automatically the accountable owner, and NovusLens records the two separately. is the person who runs a unit day to day. An interview answer about who owns a unit lands here, at the told rungRungOne of three levels of support for a recorded value: told, shown or measured. The level appears beside the value. of the evidence ladder.
  • The accountable owner is the person who answers for the outcome. It is filled only when accountability is stated in a record, such as a recorded assignment or an organisation-chart document.

A unit with an operational owner and no stated accountable owner still shows an authority gapAuthority gapMissing records about what a team or agent may do, or who answers for it. The label describes a missing record, not proof that nobody has authority.. That is the honest reading. The Ask surface follows the same rule: a duty, an accountable holder and a permission stay distinct, and conflicting explicit assignments stay visible.

What NovusLens does not do

NovusLens reads these records. It never runs, stops or steers an agent. The control of an agent belongs to the runtime the organisation already operates. A remit written in the product can be exported as a policy file. The customer deploys it, and NovusLens records the customer’s deployment report. See the Layer-A/B boundary.

Limits

  • A remit is an intent, not proof of enforcement. An approved declaration shows that the approval was formal. It shows nothing about what the runtime does with it.
  • The comparison is only as good as the source records. A source that does not record a value leaves the measure unobserved, and the result says so.
  • The signatureDigital signatureA check calculated with a signing key that can detect whether a record has changed. Identifying the signer also requires a trusted link between that key and its owner. on a source record proves which source signed it. It does not prove that the signer had authority to issue the record. A separate check records whether the approver was an eligible issuer.
  • A detector’s classification, such as “unexpected egressEgressTraffic leaving a system or network for another destination.”, is carried with the detector’s name and rule version. NovusLens does not make that classification itself.
  • A fleet incident is evidence of a shared pattern, not a verdict on intent.

What to do next

If you are a steward or an executive, open the AI agents view and check the gaps listed for each agent. For any finding, start from the accountable owner. If no accountable owner is recorded, record one.

If you are an operator, read the activity log to see who recorded each declaration and each review decision. Check the evidence window and the coverageCoverageWhat the available records cover, and what is missing. A count such as “3 of 5 dependencies measured” names the measured portion and the gap. of each source before you draw a conclusion from a fleet incident.

If you are an integrator, the boundary between what your runtime records and what NovusLens reads is the most important design decision. Declare a remit for each agent, identify the shared credentials, and make sure the runtime reports refusals as refusals.

Where it is implemented

  • apps/graph/src/conway_graph/agent_authority.py holds the comparator. evaluate_activity returns the five results above. effect_of turns the runtime’s decision and execution states into completed, failed, none, unknown or unstated.
  • apps/graph/src/conway_graph/remit.py turns outside-remit results into remit-drift findings. A refused and reported-blocked attempt is skipped there.
  • apps/graph/src/conway_graph/fleet.py groups members into fleet incidents by the three bases.
  • apps/graph/src/conway_graph/governance.py raises the agent control-gap findings.
  • apps/reasoning/src/conway_reasoning/accountability.py answers “who is accountable” questions from attributable records only.
  • apps/reasoning/src/conway_reasoning/remit_authoring.py records approved declarations and their exports.
  • apps/reasoning/src/conway_reasoning/finding_support.py produces the “Currently supported” wording.
Last updated