Skip to content

Agent Layer

Concert Foundation edited this page Jul 7, 2026 · 3 revisions

Agent Layer

This layer is SIGNET's distinctive contribution. No existing procurement standard represents synthetic agents as first-class, governed, accountable participants. The agent layer does — and it is always cleanly separable from third-party standards, so projecting a SIGNET document down to OCDS simply omits it (see Standards Mapping).

Object Purpose
SyntheticAgent An AI agent operating as a first-class Party.
AgentCapability A declared, discoverable capability (A2A Agent Card aligned).
Mandate The bounded authority granted to an agent — the structural guarantee it cannot exceed its remit.
Decision The accountability record: what was decided, by whom, under what authority, from what, why.
Policy Machine-readable, human-auditable rules — "rules as code".

How the agent layer enforces governance

The three guarantees that make a SIGNET network governed rather than merely automated:

  1. Bounded authority. A Mandate lists exactly which capabilities an agent may exercise, the hard constraints it must respect, and the approvalThresholds above which a human must approve. An agent acting outside its mandate is, by construction, non-conforming.
  2. Accountable action. Every material agent action produces a Decision recording the agent, the mandate relied on, the inputs considered, the policies applied, the rationale, the outcome, any human approval, and cryptographic provenance.
  3. Auditable rules. Every Policy carries both an executable expression and a humanReadable statement of the same rule — so the rule that governs the agent is the rule a human can review.

See it run (v0.5.0). The repository ships a runnable proof of exactly these three guarantees: the agent/ demonstration (npm run agent). A synthetic agent awards a €12M contract — bounded by a Mandate whose €10M autonomous-value ceiling forces human approval, applying the published MAT evaluation Policy — and the runner then verifies the agent's output is conformance-clean: every Decision, Evaluation, and Award validates, the five-event hash chain holds, and tampering is detected. See Repository Structure → agent/.


SyntheticAgent

An AI agent operating within the network as a first-class Party (partyType: agent, role syntheticAgent).

Field Type Card. Definition
id Identifier 1 Agent DID.
name string 1 Agent name.
operatedBy Identifier 1 The Party accountable for the agent.
model string 0..1 The underlying model family (model-agnostic; for provenance only).
capabilities AgentCapability[] 1..* Declared capabilities.
mandate Identifier 1 The Mandate governing the agent.
agentCard string (URI) 0..1 A2A Agent Card location (/.well-known/agent.json).

operatedBy answers the most important governance question — who is accountable for this agent? — and model is recorded for provenance, not for capability gating: the model is deliberately model-agnostic.


AgentCapability

A declared capability, aligned to the A2A Agent Card model so capabilities are discoverable across organisational boundaries.

Field Type Card. Definition
name string 1 Capability name, e.g. evaluate.submission, negotiate.price.
description string 0..1 What it does.
inputSchema object 0..1 Expected input.
outputSchema object 0..1 Produced output.

Mandate

The authority granted to an agent — what it may do, within what limits, and where human approval is required. The structural guarantee that agents cannot exceed their remit.

Field Type Card. Definition
id Identifier 1 Mandate identifier.
agent Identifier 1 The agent governed.
grantedBy Identifier 1 The Party granting authority.
permittedCapabilities string[] 1..* Capabilities the agent may exercise.
constraints Policy[] 0..* Hard limits (e.g. max discount, value ceiling).
approvalThresholds Policy[] 0..* Conditions requiring human-in-the-loop approval.
scope object 1 Data/entity scope the agent may operate within (sandbox boundary).
validity Period 0..1 Time bound on the mandate.

The lifecycle of a mandate is itself event-sourced: mandate.granted and mandate.revoked are recorded as Events (see eventType codelist).


Decision

A record of a decision taken in the network, by a human or synthetic agent, with the inputs and rationale that produced it. The backbone of accountability.

Field Type Card. Definition
id Identifier 1 Decision identifier.
decisionType string 1 See decisionType codelist: admissibility, evaluation, award, negotiationMove, qualification.
madeBy Identifier 1 The agent (human or synthetic) that decided.
underMandate Identifier 0..1 The mandate relied on, where the decider is synthetic.
inputs Identifier[] 0..* The objects considered (submissions, credentials, policies).
policiesApplied Identifier[] 0..* The policies applied.
rationale string 1 Human-readable rationale.
outcome object 1 The decision outcome.
humanApproval Identifier 0..1 Where a mandate threshold required it, a reference to the human approval record. Under the identity profile this SHOULD resolve to a verifiable Approval (pseudonymous approver, role, delegation-of-authority credential, provenance).
provenance Provenance 1 Full Provenance.

A Decision record satisfies the "material decision" record-keeping that regulation increasingly requires — including the assessment-summary and decision-record obligations of the UK Procurement Act 2023, and the documentation expectations for AI-assisted evaluation under the EU AI Act.

See the worked instance: examples/award-decision.json — a single object that records what was decided, which synthetic agent decided it, under which mandate, from which inputs, under which policy, with what rationale, with which human approval, and with cryptographic provenance.


Policy

A machine-readable, human-auditable rule. Policies express eligibility criteria, evaluation models, approval routing, agent constraints, and compliance rules. "Rules as code" made concrete.

Field Type Card. Definition
id Identifier 1 Policy identifier.
policyType string 1 See policyType codelist: eligibility, evaluation, approval, constraint, compliance.
expressionLanguage string 1 The language the rule is written in, e.g. rego, dmn, cel.
expression string 1 The executable rule.
humanReadable string 1 A plain-language statement of the same rule.
version string 1 Policy version.
issuedBy Identifier 1 The governing Party.

The dual requirement is mandatory: a Policy MUST carry both expression (machine- executable) and humanReadable (auditable), so the same rule governs agents and is reviewable by humans. Policies are referenced from the process layer as governingPolicies, eligibilityCriteria, and evaluationCriteria.

See the worked instance: examples/policy-evaluation.json — a Most-Advantageous-Tender scoring model expressed in Rego with a plain-language equivalent.

Where to go next

Clone this wiki locally