TA-Attestation: Behavioral Attestation Extension

TA-Attestation:
Behavioral Attestation Extension for Intent Contract Compliance

RFC: TA-Attestation Version: 0.1
Status: Preliminary / Experimental
Date: 2026-03-19 Authors: Robin
Martherus, Claude (Anthropic) Type: KTP Extension


Table of Contents

  1. Abstract
  2. Status of This
    Document
  3. Terminology
  4. Introduction and
    Motivation
  5. Architecture Overview
  6. Normative References
  7. Data Model
  8. Composite Behavior
    Detection
  9. Protocol Flows
  10. Integration Points
  11. Worked Examples
  12. Security
    Considerations
  13. Open Questions
  14. References

1. Abstract

This document specifies TA-Attestation, a behavioral attestation
extension for the Kinetic Trust Protocol (KTP). TA-Attestation extends
KTP Trajectory Chains (defined in KTP-Identity) and the Context Tensor
(defined in KTP-Core) with three capabilities: intent-contract
compliance tracking, scope boundary monitoring, and composite behavior
detection signals.

Per-action scope evaluation produces two primitive values —
scope_match and scope_distance — that
determine the contract enforcement outcome for each agent action and
feed directly into the KTP Soul Dimension’s goal stability sensor. A
ta_attestation block is appended to each KTP Trajectory
Chain entry, carrying intent evaluation results, normative signals, and
composite signals.

The composite behavior detection subsystem is the primary TA-original
contribution of this RFC. It enables the Analysis Layer to correlate
behavioral attestation records across multiple independent agents using
data flow hashes, correlation tags, and five binding criteria, detecting
coordinated multi-agent behavior that no individual agent’s attestation
record would reveal.

This RFC does not redefine KTP Trajectory Chain structure,
dual-signing, continuity enforcement, or the Context Tensor. It
specifies only the additions that the Tamed Autonomy framework
contributes on top of those KTP primitives.


2. Status of This Document

This document is a preliminary experimental
specification
(v0.1). It is part of a coordinated set of five
Tamed Autonomy RFCs:

  • TA-Intent — Intent Declaration Protocol
    (TA-original)
  • TA-Normative — Normative Constraint Protocol
    (TA-original)
  • TA-TrustProof — Trust Proof Extension for Intent
    and Normative Governance (KTP extension)
  • TA-Attestation — Behavioral Attestation Extension
    for Intent Contract Compliance (KTP extension, this
    document
    )
  • TA-Provenance — Provenance Extension for Purpose
    Chain Tracking (KTP extension)

This specification represents design-stage thinking. The capabilities
described — particularly semantic scope evaluation, composite intent
reconstruction, and swarm session binding — are research and engineering
challenges, not implemented features. The specification establishes the
intended behavior and data models for a system that does not yet exist.
Implementors SHOULD treat this document as a design target and expect
revision.

The key words “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”,
“SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “MAY”, and “OPTIONAL” in this
document are to be interpreted as described in RFC 2119.


3. Terminology

Action Risk Score (A): A numeric value (0–100)
representing the organizational risk classification of a specific agent
action. Defined per canonical risk class (e.g., Read Public: 10, Write
Append: 40, Delete: 75, Admin: 90) and subject to enterprise overlay
calibration. Subject to reclassification by the TA-Normative layer.

Analysis Layer: A runtime component that receives
streaming ta_attestation records from multiple agents and
performs multi-agent correlation. Responsible for evaluating swarm
session binding criteria and triggering composite intent reconstruction.
Not itself an RFC-defined primitive; its interface contracts are
specified in Section 8.

behavioral attestation: A record appended to a KTP
Trajectory Chain entry at the time of action execution, capturing the
governance outcome of that action including intent contract compliance,
normative signals, and composite correlation signals. Distinguished from
the Trajectory Chain entry itself, which is defined by KTP-Identity.

composite behavior detection: The process of
correlating behavioral attestation records across two or more agents to
determine whether their individual actions, taken together, constitute a
coordinated behavior pattern not authorized by any individual agent’s
declared intent.

composite intent: The aggregate purpose inferred by
the Analysis Layer from a set of correlated individual agent intents and
their observed data flow patterns. Composite intent is evaluated by the
Governance Layer against authorized business processes; it is not
declared by any agent.

composite signals: The subset of fields in a
ta_attestation block used for cross-agent correlation:
active_intent_id, data_flow_hash,
data_source_classification,
data_destination_type, and
correlation_tags.

contract action: The enforcement decision for an
agent action derived from scope evaluation. One of allowed,
denied (contract violation), or held (awaiting
human review following low-confidence AI-mediated evaluation).

contract violation: The condition arising when an
agent requests an action with scope_match: outside. A
contract violation is recorded in the Flight Recorder (not the
Trajectory Chain), triggers a Soul Dimension goal stability degradation
event, and MAY trigger a Soul veto (S=1) depending on zone
configuration.

correlation tags: A set of opaque string tags
carried in the composite_signals block that enable the
Analysis Layer to correlate attestation records across agents without
inspecting payload content. Standard tag namespaces are:
session:, sponsor:, bucket:
(temporal), and domain: (resource domain).

data_flow_hash: A deterministic hash of data lineage
for a given action, computed as
hash(source_resource || source_query || transformation_type).
Enables the Analysis Layer to trace data flow across agents without
access to the data payload. When agent B’s input
data_flow_hash matches agent A’s output
data_flow_hash, a data lineage chain link is
established.

destination escalation: A data flow pattern in which
the data_destination_type progresses from
internal to cross_zone or
external across a sequence of linked agent actions.
Destination escalation is one of the five swarm session binding
criteria.

E_base: The baseline trust score of an agent,
computed as a weighted function of Proof of Resilience, lineage, and
sponsor contribution. Defined by KTP-Core.

E_trust: The operational trust score used in
enforcement, computed as E_trust = E_base × (1 - R).
Defined by KTP-Core.

Flight Recorder: A KTP audit component that records
enforcement decisions, including denied actions. Distinguished from the
Trajectory Chain, which records only successfully executed transactions.
Denied actions (including contract violations) appear in the Flight
Recorder but not in the Trajectory Chain.

goal stability sensor: A sensor within the KTP
Context Tensor Soul Dimension. Fed by scope_distance values
from ta_attestation records. Sustained high
scope_distance values degrade goal stability, contributing
to R increase and E_trust reduction. Defined in KTP-Core; the
scope_distance feed mechanism is specified in this
document.

intent contract: An approved intent declaration (as
defined in TA-Intent) that has reached
contract_status: bound. Constitutes a behavioral contract
against which all subsequent agent actions are evaluated by scope
enforcement.

intent_id: A globally unique identifier for an
intent declaration, formatted as a URI (e.g.,
intent://company.com/session/TIMESTAMP/NONCE). Carried in
the ta_attestation.intent_eval.intent_id field to link each
attestation record to the governing intent contract.

normative signals: The subset of fields in a
ta_attestation block capturing the normative evaluation
outcome for the corresponding action: constraints evaluated, constraints
fired, reclassifications applied, and soul constraints generated.

R (environmental friction): A value in [0.0, 1.0]
representing the aggregate environmental stress affecting an agent’s
trust computation. Defined by KTP-Core; updated by the Context Tensor,
including via the goal stability sensor fed by this RFC.

scope_distance: A float value in [0.0, 1.0]
representing the semantic distance of an action from the center of the
agent’s declared intent scope. 0.0 indicates the action is
at the center of declared scope; 1.0 indicates maximum
semantic distance. For structured scope entries,
scope_distance is deterministically computed. For natural
language scope boundaries, it is AI-mediated with a confidence
threshold. Feeds the KTP Context Tensor goal stability sensor.

scope_match: A categorical value characterizing the
relationship of a requested action to the agent’s active intent scope.
Defined values: within, boundary,
outside. See Section 7.3 for full semantics.

sensitivity escalation: A data flow pattern in which
the data_source_classification level increases across
linked agent actions (e.g., public → internal → confidential →
restricted). A subtype of destination escalation and a contributing
factor to swarm session binding evaluation.

Soul Constraint: A binary veto (S=1) generated by
the TA-Normative layer based on organizational context (e.g., departing
employee accessing trade secrets). Soul Constraints are distinct from
KTP’s native Soul Dimension behavioral signals but produce the same
enforcement outcome: S=1 causes denial at step 2 of the enforcement
pipeline regardless of E_trust.

Soul Dimension: One of the six Context Tensor
measurement domains in KTP-Core. Measures action entropy, goal
stability, honesty signals, and harm avoidance indicators. The goal
stability sensor within the Soul Dimension is the integration point
through which TA-Attestation scope_distance values feed
into the KTP trust computation.

sponsor: The depth-0 human principal in a purpose
chain (TA-Provenance). The sponsor: correlation tag carries
a reference to this principal and is used by the Analysis Layer to
detect common sponsorship across agents being evaluated for swarm
session binding.

swarm session: A set of two or more agents
determined by the Analysis Layer to be operating in a coordinated manner
based on meeting a threshold number of swarm session binding criteria.
Swarm session binding triggers composite intent reconstruction and
normative evaluation of the aggregate purpose.

swarm session binding: The process by which the
Analysis Layer determines that a candidate set of agents meets the
criteria for designation as a swarm session, based on evaluation of five
binding criteria against the agents’ ta_attestation
records.

Trajectory Chain: An append-only, dual-signed (agent
+ Trust Oracle) record of an agent’s executed transactions, as defined
by KTP-Identity. TA-Attestation extends each Trajectory Chain entry with
a ta_attestation block. Only successfully executed actions
(those not denied) are recorded in the Trajectory Chain; denied actions
are recorded in the Flight Recorder.

Trust Tier: A categorical classification of an
agent’s operational capability derived from E_trust ranges (God Mode,
Operator, Analyst, Observer, Hibernation). Defined by KTP-Core; used in
the tier gate at step 3 of the enforcement pipeline.


4. Introduction and Motivation

4.1 The Gap in
Per-Action Behavioral Recording

KTP Trajectory Chains provide tamper-evident, dual-signed records of
agent behavior over time. They enable trust attribution, forensic
investigation, and cross-zone behavioral verification. What they do not
capture, by design, is why an agent was performing a given action —
specifically, whether the action was consistent with the purpose the
agent was authorized to pursue.

Consider an agent authorized to read Q4 revenue data. If that agent,
while processing a document containing an adversarial payload, attempts
to read Q3 data from an unrelated business unit, the Trajectory Chain
will record a read operation with normal action risk characteristics.
Trust physics — the physics check (A ≤ E_trust) — may not block the
action if the agent’s trust score is sufficient. The tier gate may not
block it if reads are permitted at the agent’s tier. The action appears
normal in isolation.

The purpose layer (TA-Intent) provides the scope contract that
defines what the agent is authorized to do. But the enforcement of that
contract — verifying at each action that the action is within the
declared scope — requires a mechanism attached to the point of
execution. That mechanism is TA-Attestation.

4.2
The Requirement for Scope Enforcement at the Action Level

Per-action scope evaluation serves three functions that the intent
contract alone cannot provide:

Enforcement: The intent contract declares what is
permitted. Per-action scope evaluation determines, for each specific
action, whether it falls within the contract. The
scope_match and scope_distance values computed
at each action are the runtime verification of intent contract
compliance.

Trust feedback: A single scope violation at
scope_distance: 0.85 provides more signal about agent
behavior than a month of within-scope actions. The
scope_distance value, fed into the KTP Soul Dimension goal
stability sensor, allows the trust computation to respond dynamically to
observed behavioral patterns without waiting for explicit policy
triggers.

Audit provenance: The ta_attestation
record on each Trajectory Chain entry links the action to the governing
intent contract (intent_id), the normative evaluation
outcome (normative_signals), and the composite correlation
context (composite_signals). This creates a complete audit
trail that connects individual actions to the governance context that
authorized them.

4.3 The
Multi-Agent Behavioral Detection Problem

Trust physics and scope enforcement address the per-agent governance
problem: ensuring that each agent operates within its authorized scope
and trust level. They do not address the multi-agent governance problem:
detecting coordinated behavior where each individual agent’s actions are
authorized, but the aggregate effect of all agents operating together is
not.

This problem arises because authorization systems are fundamentally
per-principal. Each agent declares its own intent, receives its own
normative evaluation, and operates under its own trust physics. An
adversary who understands this can decompose an unauthorized aggregate
action (data exfiltration) into individually-authorized sub-actions
(read, transform, send) distributed across multiple agents, each with a
plausible individual intent declaration.

KTP Trajectory Chains record individual behavioral histories. They do
not, by themselves, provide the cross-agent correlation signal needed to
detect this pattern. The composite signals in TA-Attestation —
data_flow_hash, correlation_tags,
data_source_classification, and
data_destination_type — are designed specifically to enable
this correlation without requiring content inspection of data
payloads.

The five swarm session binding criteria defined in Section 8
formalize the conditions under which correlated agents SHOULD be
evaluated as a swarm session, triggering composite intent reconstruction
and normative evaluation of the aggregate purpose.

4.4 Design Principles

No additional physics. TA-Attestation does not
define new enforcement mechanisms. Enforcement is performed by the
existing KTP enforcement pipeline (Soul veto → tier gate → physics
check). TA-Attestation provides inputs to that pipeline:
scope_match determines whether an action proceeds or is
denied as a contract violation; scope_distance feeds the
Soul Dimension goal stability sensor, which influences R and therefore
E_trust over time.

Content-free correlation. The
data_flow_hash and correlation_tags mechanisms
are designed to enable composite behavior detection without requiring
the Analysis Layer to inspect data payloads. The hash encodes the
lineage (what data, from where, via what transformation) without
encoding the content. This limits the governance layer’s access to data
that may be sensitive.

Separation of Trajectory Chain and Flight Recorder.
Denied actions (contract violations, scope violations, Silent Vetoes)
are recorded in the Flight Recorder, not the Trajectory Chain. This
separation is significant: the Trajectory Chain represents the agent’s
behavioral history of executed transactions; the Flight Recorder
represents enforcement events. Mixing them would conflate behavioral
evidence with policy enforcement records.

Compatibility with KTP-only deployments. When
ta_attestation is absent from Trajectory Chain entries, KTP
enforcement behavior is unchanged. The TA extension is additive. Zone
policy MAY require ta_attestation for specific action
classes (e.g., writes to confidential data require intent binding), but
absence of the extension does not itself constitute a violation in zones
that do not mandate it.


5. Architecture Overview

TA-Attestation sits at the enforcement pipeline layer, extending each
per-action evaluation with intent contract compliance data. It produces
records that flow in two directions: upward into the Trajectory Chain
(behavioral history) and outward to the Analysis Layer (composite
correlation).

                     ┌─────────────────────────────────────────────────────┐
                     │                  Agent Action Request               │
                     └───────────────────────────┬─────────────────────────┘
                                                 │
                                                 ▼
                     ┌─────────────────────────────────────────────────────┐
                     │              Enforcement Pipeline (KTP-Enforce)     │
                     │                                                     │
                     │  Step 1: Signature Validation                       │
                     │  Step 2: Soul Veto Check (KTP Soul + TA Normative)  │
                     │  Step 3: Tier Gate                                  │
                     │  Step 4: Physics Check (A ≤ E_trust)               │
                     └────────────┬──────────────────────────┬─────────────┘
                                  │                          │
                          (pre-step 4)                 (post-step 4)
                                  │                          │
                                  ▼                          ▼
                ┌──────────────────────┐      ┌─────────────────────────────┐
                │   Scope Evaluator    │      │   ta_attestation Assembly   │
                │   (TA-Attestation)   │      │                             │
                │                      │      │  intent_eval:               │
                │  - Match action       │      │    intent_id                │
                │    against active     │      │    action_requested         │
                │    intent scope       │      │    scope_match              │
                │  - Compute            │      │    scope_distance           │
                │    scope_match        │      │    contract_action          │
                │  - Compute            │      │                             │
                │    scope_distance     │      │  normative_signals:         │
                └──────────┬───────────┘      │    constraints_evaluated    │
                           │                  │    constraints_fired        │
                           │ scope_match,      │    reclassifications       │
                           │ scope_distance    │    soul_constraints         │
                           │                  │                             │
                           ▼                  │  composite_signals:         │
                ┌──────────────────────┐      │    data_flow_hash           │
                │  Soul Dimension Feed  │      │    data_source_class.       │
                │  (KTP-Core Tensor)    │      │    data_destination_type   │
                │                      │      │    correlation_tags         │
                │  goal_stability ◄─────┼──────┤                             │
                │  sensor update        │      └───────────┬─────────────────┘
                └──────────────────────┘                  │
                                                          │
                              ┌───────────────────────────┼───────────────────────┐
                              │                           │                       │
                              ▼                           ▼                       ▼
               ┌──────────────────────┐   ┌──────────────────────┐  ┌───────────────────────┐
               │   Trajectory Chain    │   │    Flight Recorder    │  │    Analysis Layer     │
               │   (KTP-Identity)      │   │    (KTP)             │  │                       │
               │                      │   │                      │  │  Streams composite_    │
               │  Appends              │   │  Records denied       │  │  signals across agents │
               │  ta_attestation       │   │  actions (contract    │  │  Evaluates swarm       │
               │  block to each        │   │  violations,         │  │  session binding        │
               │  allowed action       │   │  silent vetoes)      │  │  criteria              │
               │  entry                │   │                      │  │                       │
               └──────────────────────┘   └──────────────────────┘  └───────────────────────┘

The scope evaluator runs between action receipt and the physics
check. Its output (scope_match,
scope_distance, contract_action) feeds both
the immediate enforcement decision and the ta_attestation
record. The ta_attestation block is assembled after the
enforcement decision is made, incorporating the complete outcome.

The Analysis Layer receives a stream of ta_attestation
records from the enforcement pipeline across all agents operating in the
zone. It does not modify individual enforcement decisions; it operates
asynchronously, identifying cross-agent patterns and triggering swarm
session binding when threshold criteria are met.


6. Normative References

This document is a KTP extension. The following KTP specifications
are normative references. Where this document specifies behavior that
interacts with KTP-defined mechanisms, the KTP specification governs
unless this document explicitly overrides.

KTP-Identity: Defines Trajectory Chains (structure,
append-only semantics, dual-signing, continuity enforcement, sequential
numbering, hash linking, temporal ordering, state consistency),
Sponsorship Bonds, Lineage Evolution (Tethered / Divergent /
Persistent), and the Flight Recorder. TA-Attestation extends the
Trajectory Chain entry structure by appending a
ta_attestation block to each entry. This extension does not
alter the chain’s dual-signing or continuity enforcement semantics.

KTP-Core: Defines the Trust Proof Token structure,
the trust computation (E_trust = E_base × (1 - R)), the
Context Tensor (six measurement domains: Soul, Body, World, Time,
Relational, Signal), the Soul Dimension and its sensors (including the
goal stability sensor), the enforcement pipeline (four steps: signature
validation, Soul veto check, tier gate, physics check), Trust Tiers,
Action Risk Scores, and the Soul veto mechanism (S=1 causes denial
regardless of E_trust). TA-Attestation feeds the goal stability sensor
within the Soul Dimension; the feed mechanism is defined in Section 7.4
of this document.

The following TA RFCs are informative references within this document
but normative references for the complete Tamed Autonomy framework:

  • TA-Intent: Defines intent declarations, scope
    entries, scope contract lifecycle, and the scope_hash that
    TA-Attestation references via intent_id.
  • TA-Normative: Defines normative constraints, Soul
    Constraints, and Action Risk Reclassifications. The
    normative_signals block in ta_attestation
    records the output of TA-Normative evaluation for the action.
  • TA-TrustProof: Defines the
    ta_extension block in the KTP Trust Proof Token, including
    the compliance_rate field that is computed from
    TA-Attestation records.
  • TA-Provenance: Defines purpose chains and the
    sponsor: correlation tag value that TA-Attestation carries
    in composite_signals.

7. Data Model

7.1 The ta_attestation
Block

The ta_attestation block is appended to each KTP
Trajectory Chain entry for agent actions that are allowed by the
enforcement pipeline. Denied actions (contract violations, Soul vetoes,
tier gate blocks, Silent Vetoes) are recorded in the Flight Recorder
with equivalent fields; they do not appear in the Trajectory Chain.

The block contains three sub-objects: intent_eval,
normative_signals, and composite_signals.

{
  "ta_attestation": {
    "version": "0.1",
    "intent_eval": {
      "intent_id": "intent://company.com/session/2026-03-19T14:30:00Z/a1b2c3",
      "action_requested": {
        "resource": "crm://salesforce/revenue/q4",
        "action_type": "READ",
        "parameters": {
          "aggregation": "by-region",
          "period": "Q4-2025"
        }
      },
      "scope_match": "within",
      "scope_distance": 0.0,
      "contract_action": "allowed"
    },
    "normative_signals": {
      "constraints_evaluated": 3,
      "constraints_fired": 0,
      "reclassifications_applied": [],
      "soul_constraints_generated": []
    },
    "composite_signals": {
      "active_intent_id": "intent://company.com/session/2026-03-19T14:30:00Z/a1b2c3",
      "data_flow_hash": "sha256:7d793037a0760186574b0282f2f435e7",
      "data_source_classification": "confidential",
      "data_destination_type": "internal",
      "correlation_tags": [
        "session:a1b2c3",
        "sponsor:sarah.chen",
        "bucket:2026-03-19T14",
        "domain:crm.salesforce"
      ]
    }
  }
}

The version field identifies the TA-Attestation
specification version. Implementations MUST include this field.
Receiving systems that do not recognize the version SHOULD treat the
ta_attestation block as unrecognized and fall back to
KTP-only processing for that entry.

7.2 The intent_eval
Sub-Object

The intent_eval sub-object carries the scope evaluation
result for the specific action.

intent_id (string, URI, REQUIRED): The
identifier of the active intent contract against which this action was
evaluated. Formatted as
intent://authority/session/timestamp/nonce. Links the
attestation record to the intent declaration lifecycle managed by
TA-Intent. MUST be present for any action evaluated against an intent
contract. If no intent contract is active for this agent (zone policy
permits contract-free operation for this action class),
intent_id is null and scope_match
is null.

action_requested (object, REQUIRED): A
structured representation of the action evaluated. MUST contain
resource (URI identifying the resource),
action_type (READ, WRITE, EXECUTE, DELETE, ADMIN, or a
zone-defined extension), and SHOULD contain parameters
(action-specific parameters relevant to scope evaluation, e.g., query
constraints, write targets). The action_requested object is
constructed from the action as presented to the enforcement pipeline; it
MUST NOT be modified by the scope evaluator.

scope_match (string, REQUIRED if
intent_id is non-null): The categorical scope evaluation
result. See Section 7.3 for normative semantics.

scope_distance (float, REQUIRED if
intent_id is non-null): A value in [0.0, 1.0] representing
the semantic distance of the action from the center of the declared
intent scope. See Section 7.3 for normative semantics.

contract_action (string, REQUIRED): The
enforcement decision derived from scope evaluation. One of: –
allowed: The action proceeds through the remaining
enforcement pipeline steps. – denied: The action is blocked
as a contract violation. The enforcement pipeline terminates here; the
action is recorded in the Flight Recorder. – held: The
action is held pending human review. This occurs when AI-mediated scope
evaluation returns scope_match != within with confidence
below the configured threshold (default: 0.80). The action is neither
allowed nor denied until a human reviewer makes a determination.

7.3 Scope Match Semantics

The scope_match and scope_distance values
are the primary outputs of scope evaluation. Their enforcement and Soul
Dimension consequences are defined in the following table.

scope_match scope_distance Range Meaning Enforcement Consequence Soul Dimension Impact
within 0.0 – 0.2 Action fully within declared scope; resource, action type, and
constraints all match a scope entry
contract_action: allowed; action proceeds to remaining
enforcement pipeline steps
Positive: contributes to goal stability, MAY incrementally improve
R
boundary 0.2 – 0.5 Action at the edge of declared scope; matches a scope entry but
exercises a constraint boundary (e.g., time range boundary, aggregation
level boundary, path pattern edge)
contract_action: allowed; enhanced monitoring flag set;
action proceeds with monitoring annotation
Neutral to slightly negative: goal stability sensor registers
boundary-level distance; sustained boundary activity accumulates
negative signal
outside 0.5 – 1.0 Action not matched by any scope entry; resource, action type, or
constraints fall outside all declared scope entries
contract_action: denied; contract violation event
generated; action recorded in Flight Recorder only; Soul Dimension goal
stability sensor receives degradation input
Negative: goal stability degrades proportional to
scope_distance; R increases; repeated outside events drive
tier demotion
null null No active intent contract; scope evaluation not applicable No contract enforcement; enforcement proceeds to tier gate and
physics check only
No direct Soul Dimension impact from scope evaluation

Scope distance as a continuous signal: The
scope_distance float provides the goal stability sensor
with a continuous signal rather than a binary within/outside signal. An
agent consistently operating at scope_distance: 0.4
(boundary) accumulates Soul Dimension degradation over time even without
triggering any individual outside event. This design
prevents an agent from exploiting the
within/outside boundary by staying marginally
within scope while systematically probing its limits.

The rate at which accumulated scope_distance values
degrade the goal stability sensor is a zone-configurable parameter.
Implementations SHOULD set a default accumulation window (e.g., 30
minutes) and a default degradation function (e.g., exponential weighted
moving average of scope_distance values). Details of the
accumulation model are implementation-defined; this RFC specifies only
that the input to the sensor is the scope_distance value at
each action.

7.4 Scope Evaluation Rules

Scope evaluation uses different mechanisms depending on the form of
the scope entry in the active intent contract.

7.4.1 Deterministic Evaluation (Structured Scope
Entries)

Scope entries defined with structured fields (resource URI pattern,
action type, constraint map) are evaluated deterministically using exact
pattern matching:

  1. Extract resource, action_type, and
    parameters from action_requested.
  2. For each scope entry in the active intent contract, evaluate:
    1. Does resource match the scope entry’s resource URI
      pattern (exact match or wildcard)?
    2. Does action_type match the scope entry’s declared
      action_type?
    3. For each declared constraint in the scope entry, does the
      corresponding field in parameters satisfy the
      constraint?
  3. If all three conditions are satisfied for any scope entry:
    scope_match: within, scope_distance: 0.0.
  4. If conditions (a) and (b) are satisfied but one or more constraints
    are at their boundary (e.g., period: Q4-2025 when the scope
    entry permits time_range: Q4-2025 and the query is for the
    last day of the range): scope_match: boundary,
    scope_distance computed as the fraction of constraints at
    boundary (e.g., 1 of 3 constraints at boundary →
    scope_distance: 0.33).
  5. If no scope entry satisfies conditions (a) and (b):
    scope_match: outside. scope_distance is
    computed as the semantic distance from the nearest matching scope entry,
    as described below.

Computing scope_distance for outside
actions:
When scope_match: outside,
scope_distance reflects how far the action is from the
nearest scope entry. Implementations SHOULD compute this value using a
resource taxonomy distance function (e.g., URI path similarity, resource
type classification hierarchy). A read of a file in a different
directory of an authorized repository (e.g., .env when the
scope covers src/) receives a higher distance than a read
of a file in an adjacent directory. Implementations that cannot perform
semantic distance computation SHOULD use
scope_distance: 0.9 as a default for fully unmatched
actions.

7.4.2 AI-Mediated Evaluation (Natural Language Scope
Boundaries)

When a scope entry includes natural language description of scope
rather than (or in addition to) structured fields, deterministic pattern
matching is insufficient. Examples: “research competitive landscape,”
“prepare knowledge transfer documentation,” “analyze customer
transaction patterns.”

For natural language scope entries, the scope evaluator MUST:

  1. Present the action’s resource,
    action_type, and parameters alongside the
    natural language scope description to an AI evaluation component.
  2. The AI evaluation component returns: scope_match (one
    of within, boundary, outside),
    scope_distance (float in [0.0, 1.0]), and
    confidence (float in [0.0, 1.0]).
  3. If confidence >= threshold (default: 0.80): use the
    returned scope_match and scope_distance
    directly.
  4. If confidence < threshold AND
    scope_match != within: set
    contract_action: held. The action is neither allowed nor
    denied. Record the pending evaluation state in the Flight Recorder. A
    human reviewer MUST resolve the hold before the action is
    permitted.
  5. If confidence < threshold AND
    scope_match == within: allow the action with
    scope_match: boundary and scope_distance: 0.2.
    The low-confidence within determination is downgraded to a boundary
    result to register a mild signal without blocking the action.

The AI component used for scope evaluation is an
implementation-defined mechanism. Implementations MUST ensure that: the
evaluation is bounded in time (configurable timeout, default: 500ms); a
timeout results in contract_action: held rather than a
default allow or deny; the evaluation log includes the AI component’s
reasoning summary for audit purposes.

7.5 The
normative_signals Sub-Object

The normative_signals sub-object records the outcome of
TA-Normative constraint evaluation as it applies to the specific action
being attested.

constraints_evaluated (integer,
REQUIRED): The count of normative constraints evaluated against this
action’s context. May be zero if no constraints apply to this action
class or resource.

constraints_fired (integer, REQUIRED):
The count of normative constraints that triggered their effect for this
action.

reclassifications_applied (array,
REQUIRED): List of Action Risk Reclassifications applied to this action
by TA-Normative. Each entry contains the constraint_id,
original_A, and reclassified_A. Empty array if
no reclassifications apply.

soul_constraints_generated (array,
REQUIRED): List of Soul Constraints (S=1 vetoes) generated by
TA-Normative for this action. Each entry contains the
constraint_id and name. If any Soul Constraint
is present, the enforcement pipeline step 2 (Soul veto check) MUST treat
S=1 for this action regardless of KTP behavioral Soul Dimension state.
Empty array if no Soul Constraints apply.

The normative_signals values are populated from the
normative evaluation context maintained by the Governance Layer. They
reflect the evaluation performed at intent binding time plus any
re-evaluation triggered by context source changes since binding.
Per-action normative re-evaluation is NOT performed for every action;
the signals reflect the current normative clearance state.

7.6 The
composite_signals Sub-Object

The composite_signals sub-object carries the fields used
by the Analysis Layer for cross-agent correlation. These fields are
populated by the enforcement pipeline using data available at action
time; they do not require the Analysis Layer to inspect data
payloads.

active_intent_id (string, URI, REQUIRED
if intent_eval.intent_id is non-null): A copy of the
governing intent_id carried into
composite_signals so that the Analysis Layer can reference
the intent declaration without receiving the full
intent_eval block. The Analysis Layer MUST NOT interpret
this field as granting it access to the intent declaration’s content; it
is a reference only. When the Analysis Layer requires the full intent
declaration for composite intent reconstruction (Section 8.5, step 1),
it MUST request it from the Governance Layer using this identifier. If
no intent contract is active, active_intent_id is
null.

data_flow_hash (string, REQUIRED): A
SHA-256 hash of the data lineage tuple
(source_resource, source_query, transformation_type).
Computed deterministically from the action’s resource identifier and
parameters. For WRITE or SEND actions that transform or transmit data,
the source_resource is the resource being read; for READ
actions, it is the resource being read and the hash encodes the query
parameters. Implementations MUST use
hash(source_resource || "|" || source_query || "|" || transformation_type)
where || denotes string concatenation and
transformation_type is one of read,
write, transform, transmit,
aggregate.

This design enables the Analysis Layer to establish a data lineage
chain across agents without seeing the data: if agent B’s
data_flow_hash input matches agent A’s
data_flow_hash output (computed from A’s write operation),
the lineage link is established cryptographically.

data_source_classification (string,
REQUIRED): The organizational data classification of the resource being
acted upon, as determined by the DLP or classification service at action
time. Standard values (zone-configurable): public,
internal, confidential,
restricted, trade_secret. Implementations MUST
obtain this value from an authoritative classification source; agents
MUST NOT self-assert data classification.

data_destination_type (string,
REQUIRED): Where the data resulting from this action will go. Values:
internal (within the zone, no external transmission),
cross_zone (to a federated zone within the same trust
mesh), external (outside the trust mesh). For READ actions
where data destination is not yet determined, use internal
as the default. For WRITE actions targeting an external endpoint, use
external. For actions to federated zones, use
cross_zone.

correlation_tags (array of strings,
REQUIRED): A set of opaque tags in namespace:value format.
The following namespaces are defined by this RFC:

  • session:VALUE — The identifier of the intent session.
    Derived from the intent contract’s intent_id session
    component. All actions under the same intent session share this
    tag.
  • sponsor:VALUE — The depth-0 human principal from the
    purpose chain (TA-Provenance), normalized to a stable identifier (e.g.,
    the principal’s URI or a hash thereof). Agents with no purpose chain use
    the on_behalf_of.principal from their intent
    declaration.
  • bucket:VALUE — A temporal bucket value, formatted as
    YYYY-MM-DDTHH (one-hour granularity by default,
    zone-configurable). Enables the Analysis Layer to group temporally
    proximate actions without precise timestamp comparison.
  • domain:VALUE — A normalized resource domain identifier
    derived from the resource URI. For
    crm://salesforce/revenue/q4, the domain would be
    domain:crm.salesforce. Enables correlation of actions
    targeting the same resource domain across agents.

Implementations MAY include additional zone-specific tags using
zone-defined namespaces. Tags MUST NOT contain data payload content.

7.7 Compliance Rate
Computation

Compliance Rate Computation. The
compliance_rate field in TA-TrustProof is computed by the
Trust Oracle from TWO sources: (1) TA-Attestation records in the
Trajectory Chain (allowed actions with
contract_action: allowed), and (2) Flight Recorder entries
where contract_action is denied due to scope
violation for the active intent_id. The formula is:

compliance_rate = allowed_actions / (allowed_actions + scope_violations)

where scope_violations is the count of Flight Recorder
entries with scope-violation denial for the current intent. This ensures
that denied actions properly degrade the compliance rate even though
they are not recorded in the Trajectory Chain.

This dual-source computation is necessary because Section 7.1
specifies that ta_attestation blocks are appended only to
Trajectory Chain entries for allowed actions; denied actions go to the
Flight Recorder only. A Trust Oracle that counted only Trajectory Chain
records would see only allowed actions in its denominator, producing a
compliance_rate that never falls below 1.0 regardless of how many
contract violations have occurred. The Trust Oracle MUST therefore query
the Flight Recorder for scope-violation denial events under the current
intent_id and include them in the denominator.

The computation window is the current intent contract lifecycle (from
contract_status: bound to present). The Trust Oracle MUST
NOT use agent self-reported compliance figures.


8. Composite Behavior
Detection

8.1 Overview

Composite behavior detection is the TA-original capability defined by
this RFC. It addresses the multi-agent governance problem: coordinated
behaviors distributed across individually-authorized agents. The
mechanism consists of two components: a data flow tracking primitive
(the composite_signals block defined in Section 7.6) and a
swarm session binding process executed by the Analysis Layer.

Composite behavior detection operates asynchronously with respect to
individual action enforcement. It does not block individual actions; it
detects patterns across actions and triggers governance responses at the
swarm level.

8.2 Data Flow Tracking

The data_flow_hash mechanism enables the Analysis Layer
to construct a directed graph of data flow across agents without content
inspection:

  1. When agent A reads resource R with query Q (transformation type
    read), the enforcement pipeline computes
    hash(R || "|" || Q || "|" || "read") and records it as A’s
    output hash for this action.

  2. When agent B subsequently writes data that was derived from
    resource R (same resource URI, same query parameters), the enforcement
    pipeline computes the same hash for B’s action and records it. The
    Analysis Layer observes that A’s output hash matches B’s input hash —
    establishing a data lineage link.

  3. This link is established based on resource and query parameters
    alone, without the Analysis Layer receiving the data values. If the
    parameters change (e.g., different query, different resource), the
    hashes differ and no link is established.

  4. The data_source_classification field tracks the
    classification level of the originating data as it moves through the
    lineage chain. Implementations SHOULD propagate classification from
    source to derived output: if A reads confidential data and B processes
    A’s output, B’s action SHOULD record
    data_source_classification: confidential even if the
    immediate resource B is reading is an intermediate file.

  5. The data_destination_type field records the intended
    destination of data at each step. A progression from
    internal to external across linked agents is a
    destination escalation event and is one of the five binding
    criteria.

8.3 Correlation Tags

Correlation tags provide multi-dimensional grouping of attestation
records without requiring the Analysis Layer to parse action content.
The Analysis Layer uses tags to build candidate agent sets for swarm
session binding evaluation:

  • Session tags (session:VALUE): Group
    all actions taken under a single intent contract. An agent with a single
    intent session produces actions that all share the same session
    tag.
  • Sponsor tags (sponsor:VALUE): Group
    all agents operating on behalf of the same depth-0 principal. Agents
    that share a sponsor tag but have different session tags are candidates
    for common sponsorship evaluation (binding criterion 1).
  • Temporal bucket tags (bucket:VALUE):
    Enable the Analysis Layer to filter for temporal proximity without
    precise timestamp arithmetic. Agents whose actions fall in the same
    one-hour bucket are within the default temporal proximity window; more
    precise evaluation uses the Trajectory Chain entry timestamps.
  • Domain tags (domain:VALUE): Group
    actions targeting the same resource domain. Multiple agents accessing
    the same resource domain within a temporal window are candidates for
    resource domain overlap evaluation (binding criterion 4).

8.4 Swarm Session Binding
Criteria

The Analysis Layer evaluates five binding criteria against the
composite_signals of agents in a candidate set. The
candidate set is assembled by the Analysis Layer using correlation tags:
agents sharing sponsor tags, temporal bucket tags, or data lineage links
are assembled into candidate sets for evaluation.

Criterion 1 — Common Sponsor: The candidate agents
share the same sponsor:VALUE tag in their
composite_signals.correlation_tags. This indicates a common
depth-0 human principal in their purpose chains. Common sponsorship
alone is expected in legitimate multi-agent workflows (a user may
sponsor multiple agents for related tasks) and is therefore not
sufficient for swarm binding by itself.

Criterion 2 — Data Lineage Chain: The
data_flow_hash values of the candidate agents form a
directed chain: agent A’s output hash matches agent B’s input hash,
and/or agent B’s output hash matches agent C’s input hash. The lineage
chain MUST involve at least two distinct agents to satisfy this
criterion. A single agent’s read-then-write does not constitute a
multi-agent lineage chain.

Criterion 3 — Temporal Proximity: The candidate
agents have actions recorded within the same temporal window. The
default window is 15 minutes, evaluated using Trajectory Chain entry
timestamps. Zone operators MAY configure the window; the
bucket:VALUE tag provides coarse pre-filtering and is not
used for the precise temporal proximity determination.

Criterion 4 — Resource Domain Overlap: The candidate
agents share domain:VALUE tags, indicating they are
accessing the same resource domain or data classification level. Domain
overlap is more significant when combined with data lineage (criterion
2), as it confirms the agents are handling the same data domain rather
than coincidentally operating in parallel.

Criterion 5 — Destination Escalation: The
data_destination_type values across the candidate agents’
correlated action sequence show escalation from internal
toward external or cross_zone. Sensitivity
escalation (the data_source_classification of actions in
the lineage chain showing increasing sensitivity: public
internalconfidential
restricted) also satisfies this criterion.

Binding Threshold: The Analysis Layer triggers swarm
session binding when a candidate agent set meets N or more of the five
criteria. The default threshold is N=3. Zone operators MAY configure
this threshold; lower thresholds increase detection sensitivity at the
cost of false positive rate.

The threshold MUST be enforced per candidate agent set, not per
individual criterion. An agent set that meets criteria 1, 2, and 3
triggers binding. An agent set that meets only criteria 1 and 2 does
not. Partial threshold states SHOULD be logged by the Analysis Layer for
retrospective analysis.

8.5 Swarm Session Binding
Process

When the Analysis Layer determines that a candidate agent set meets
the binding threshold:

  1. Binding event generated: The Analysis Layer
    generates a swarm session binding event containing: the bound agent set
    (list of agent identifiers), the binding evidence (which of the five
    criteria were met, with supporting attestation record references), and
    the candidate composite intent (the Analysis Layer’s reconstruction of
    the aggregate purpose from the individual intents and observed data flow
    pattern).

  2. Governance Layer notification: The swarm session
    binding event is delivered to the Governance Layer. The Governance Layer
    initiates composite intent reconstruction as defined in TA-Intent Flow
    4.

  3. Composite intent evaluation: The Governance
    Layer presents the reconstructed composite intent to the TA-Normative
    engine for evaluation: “Does this aggregate action pattern match an
    authorized business process? Is there a declared composite intent that
    encompasses this swarm session?”

  4. Enforcement action: Based on normative
    evaluation:

    • Authorized composite intent found: The swarm
      session is registered as a recognized composite intent session.
      Monitoring continues; no agent action is taken.
    • Composite intent denied: All agents in the bound
      set are suspended. Their active intent contracts are transitioned to
      contract_status: composite_suspended. Alerts are escalated.
      Trajectory Chains are sealed as forensic evidence.
    • Evaluation uncertain: The Governance Layer
      escalates to human review. Agent actions may be held pending review,
      depending on zone configuration.
  5. Interim enforcement: Between binding event
    generation and normative evaluation completion, individual agent
    enforcement continues using the agents’ existing intent contracts and
    trust states. The Analysis Layer SHOULD complete swarm session binding
    evaluation within a configurable timeout (default: 60 seconds). If
    evaluation is not complete within the timeout and normative evaluation
    has not returned, zone policy determines whether to continue normal
    operation or suspend the candidate agent set.

8.6 Analysis Layer Interface
Contracts

The Analysis Layer is not itself defined by this RFC; it is an
implementation component. This RFC defines the interface contracts that
the Analysis Layer MUST satisfy:

Input: TA-Attestation records
(composite_signals blocks) streamed from the enforcement
pipeline for all agents operating in the zone. The Analysis Layer MUST
receive these records in near-real-time (implementation-defined,
RECOMMENDED within 5 seconds of action execution). The Analysis Layer
does not receive intent_eval or
normative_signals blocks; it receives only
composite_signals. The active_intent_id field
within composite_signals provides a reference to each
agent’s governing intent declaration; the Analysis Layer MAY query the
Governance Layer for the full intent declaration using this identifier
when reconstructing composite intent (Section 8.5, step 1), but MUST NOT
receive or cache the full intent declaration as a standing input.

Output: Swarm session binding events, formatted
as:

{
  "swarm_binding_event_id": "swarm://zone/timestamp/nonce",
  "bound_agent_set": ["agent://...", "agent://...", "agent://..."],
  "binding_evidence": {
    "criteria_met": [1, 2, 3],
    "common_sponsor": "user://...",
    "lineage_chain": ["agent_A_output_hash -> agent_B_input_hash", "..."],
    "temporal_window_start": 1742134200,
    "temporal_window_end": 1742134800,
    "domain_overlap": ["domain:crm.salesforce"],
    "destination_pattern": "internal -> internal -> external"
  },
  "candidate_composite_intent": {
    "inferred_purpose": "...",
    "data_flow_summary": "...",
    "reconstruction_confidence": 0.82
  }
}

Configuration: Binding criteria thresholds (N,
default 3 of 5), correlation time windows (default 15 minutes), minimum
agent count for binding (default 2), and temporal bucket granularity
(default 1 hour) are zone-configurable parameters. The Analysis Layer
MUST apply the zone’s configured values.


9. Protocol Flows

9.1 Flow 1 — Per-Action
Attestation

This flow describes the processing of a single agent action through
the TA-extended enforcement pipeline.

Agent                    Enforcement Pipeline          Scope Evaluator
  |                            |                            |
  |-- 1. Action request ------>|                            |
  |   (resource, action_type,  |                            |
  |    parameters)             |                            |
  |                            |                            |
  |                            |-- 2. Signature validation  |
  |                            |      (KTP step 1)          |
  |                            |                            |
  |                            |-- 3. Soul veto check ----  |
  |                            |      (KTP step 2 +         |
  |                            |      normative_signals     |
  |                            |      soul_constraints)     |
  |                            |      → if S=1: deny;       |
  |                            |        record in Flight    |
  |                            |        Recorder; return    |
  |                            |                            |
  |                            |-- 4. Scope evaluation ---->|
  |                            |                            |-- 4a. Match action
  |                            |                            |       against active
  |                            |                            |       intent scope entries
  |                            |                            |
  |                            |                            |-- 4b. Determine evaluation
  |                            |                            |       method:
  |                            |                            |       structured →
  |                            |                            |       deterministic;
  |                            |                            |       natural language →
  |                            |                            |       AI-mediated
  |                            |                            |
  |                            |                            |-- 4c. Compute scope_match
  |                            |                            |       (within / boundary /
  |                            |                            |        outside)
  |                            |                            |
  |                            |                            |-- 4d. Compute scope_distance
  |                            |                            |       [0.0, 1.0]
  |                            |                            |
  |                            |<-- 5. Scope result --------|
  |                            |   (scope_match,            |
  |                            |    scope_distance,         |
  |                            |    contract_action)        |
  |                            |                            |
  |                            |-- 6. Contract action check:|
  |                            |   if contract_action=denied:|
  |                            |     → record in Flight     |
  |                            |       Recorder; return     |
  |                            |   if contract_action=held: |
  |                            |     → hold pending human   |
  |                            |       review; return       |
  |                            |                            |
  |                            |-- 7. Tier gate (KTP step 3)|
  |                            |      → if tier gate fails: |
  |                            |        deny; Flight Recorder|
  |                            |                            |
  |                            |-- 8. Physics check         |
  |                            |      (KTP step 4):         |
  |                            |      use reclassified A if |
  |                            |      reclassifications_    |
  |                            |      applied is non-empty  |
  |                            |      A ≤ E_trust?          |
  |                            |      → if fails: Silent    |
  |                            |        Veto; Flight Recorder|
  |                            |                            |
  |                            |-- 9. Assemble              |
  |                            |      ta_attestation block: |
  |                            |      intent_eval +         |
  |                            |      normative_signals +   |
  |                            |      composite_signals     |
  |                            |                            |
  |                            |-- 10. Append ta_attestation|
  |                            |       to Trajectory Chain  |
  |                            |       entry (KTP-Identity  |
  |                            |       dual-signing applies)|
  |                            |                            |
  |                            |-- 11. Feed Soul Dimension: |
  |                            |       scope_distance value |
  |                            |       → goal_stability     |
  |                            |         sensor update      |
  |                            |       (KTP-Core Context    |
  |                            |        Tensor mechanism)   |
  |                            |                            |
  |                            |-- 12. Stream composite_    |
  |                            |       signals to Analysis  |
  |                            |       Layer                |
  |                            |                            |
  |<-- 13. Action result ------|                            |
  |   (allowed + response, or  |                            |
  |    denial reason)          |                            |

Notes on step 4: The scope evaluator receives the
active intent contract associated with the agent’s current trust proof.
The active intent contract is identified by the intent_id
in the trust proof’s
ta_extension.intent_compliance.active_intent_id field
(TA-TrustProof). If no active intent contract is present and zone policy
requires one for this action class, the enforcement pipeline MUST treat
the action as contract_action: denied before reaching the
tier gate.

Notes on step 8: When
normative_signals.reclassifications_applied is non-empty,
the enforcement pipeline MUST use the reclassified_A value
from the applicable reclassification, not the original A score.
Reclassification is applied before the physics check; it is not a bypass
of the physics check.

Notes on step 10: The ta_attestation
block is appended to the Trajectory Chain entry as an extension field.
KTP-Identity’s dual-signing requirement applies to the full entry
including the extension. The ta_attestation block is
therefore signed by both the agent and the Trust Oracle, providing the
same tamper-evident guarantees as the base Trajectory Chain entry.

9.2 Flow 2
— Composite Detection and Swarm Session Binding

This flow describes the asynchronous process by which the Analysis
Layer detects swarm patterns and triggers governance response.

Attestation Records      Analysis Layer                Governance Layer
from Multiple Agents         |                              |
  |                          |                              |
  |-- 1. Streaming           |                              |
  |   ta_attestation records |                              |
  |   (composite_signals     |                              |
  |    blocks only)          |                              |
  |   from agents A, B, C,  |                              |
  |   ... continuously       |                              |
  |                          |                              |
  |                          |-- 2. Tag indexing:           |
  |                          |   Build inverted index by    |
  |                          |   sponsor:, session:,        |
  |                          |   bucket:, domain: tags      |
  |                          |                              |
  |                          |-- 3. Lineage graph           |
  |                          |   maintenance:               |
  |                          |   Maintain directed graph of |
  |                          |   data_flow_hash links       |
  |                          |   (output hash → input hash  |
  |                          |    across agents)            |
  |                          |                              |
  |                          |-- 4. Candidate set           |
  |                          |   identification:            |
  |                          |   Agents sharing sponsor: tag|
  |                          |   OR linked by data lineage  |
  |                          |   OR co-active in same       |
  |                          |   bucket: window             |
  |                          |   are assembled into         |
  |                          |   candidate sets             |
  |                          |                              |
  |                          |-- 5. Binding criteria        |
  |                          |   evaluation (per candidate  |
  |                          |   set):                      |
  |                          |   C1: common sponsor? ✓/✗   |
  |                          |   C2: lineage chain? ✓/✗    |
  |                          |   C3: temporal proximity? ✓/✗|
  |                          |   C4: domain overlap? ✓/✗   |
  |                          |   C5: destination escal.? ✓/✗|
  |                          |                              |
  |                          |-- 6. Threshold check:        |
  |                          |   criteria_met ≥ N (default 3)|
  |                          |   → if below threshold:      |
  |                          |     log partial state;       |
  |                          |     continue monitoring      |
  |                          |   → if threshold met:        |
  |                          |     proceed to step 7        |
  |                          |                              |
  |                          |-- 7. Generate binding event->|
  |                          |   swarm_binding_event        |
  |                          |   (bound agents, evidence,   |
  |                          |    candidate composite intent)|
  |                          |                              |
  |                          |                              |-- 8. Composite intent
  |                          |                              |      reconstruction
  |                          |                              |      (TA-Intent Flow 4):
  |                          |                              |      synthesize aggregate
  |                          |                              |      purpose from individual
  |                          |                              |      declared intents +
  |                          |                              |      observed data flow
  |                          |                              |
  |                          |                              |-- 9. Normative evaluation
  |                          |                              |      of composite intent
  |                          |                              |      (TA-Normative):
  |                          |                              |      "Does this aggregate
  |                          |                              |       action pattern match
  |                          |                              |       an authorized business
  |                          |                              |       process?"
  |                          |                              |
  |                          |                              |-- 10. Enforcement action:
  |                          |                              |       authorized → register
  |                          |                              |       as composite session;
  |                          |                              |       denied → suspend all
  |                          |                              |       bound agents;
  |                          |                              |       uncertain → human
  |                          |                              |       escalation
  |                          |                              |
  |                          |<-- 11. Binding result -------|
  |                          |   (authorized / denied /     |
  |                          |    escalated)                |

Concurrency note: The Analysis Layer operates
asynchronously. Individual agent enforcement (Flow 1) continues in
parallel with swarm detection. The Analysis Layer does not block
individual action enforcement. If the Analysis Layer determines a swarm
session after agents have already executed individual actions, those
actions are not retroactively reversed; the Governance Layer’s response
(suspension, escalation) applies from the binding determination
forward.


10. Integration Points

10.1 TA-Intent (Intent
Declaration Protocol)

Scope evaluation (Section 7.4) is the per-action enforcement
mechanism for intent contracts defined by TA-Intent. The active intent
contract, identified by intent_id, provides the scope
entries against which each action is evaluated.

When the Analysis Layer triggers swarm session binding, the composite
intent reconstruction process is governed by TA-Intent Flow 4 (Composite
Intent Binding). The candidate_composite_intent from the
binding event is the input to that flow.

When an intent contract is amended (TA-Intent Flow 3), the scope
evaluator MUST use the amended scope for all subsequent evaluations. The
intent_id in ta_attestation records references
the amendment-versioned intent if the contract has been amended;
implementations SHOULD record the amendment version alongside the
intent_id.

10.2 TA-Normative
(Normative Constraint Protocol)

The normative_signals block in each
ta_attestation record carries the TA-Normative evaluation
outcome as it applies to the attested action. This serves two
purposes:

Audit trail: The normative_signals provide an
action-level record of which constraints were evaluated and which fired,
enabling post-hoc audit of why an action was permitted or denied under a
given normative context.

Enforcement feed:
soul_constraints_generated in normative_signals are the
source of TA-originated S=1 values evaluated at step 2 of the
enforcement pipeline (Flow 1, step 3). The enforcement pipeline MUST
treat any soul_constraints_generated entry as S=1 for the
current action, independent of the KTP Soul Dimension behavioral
state.

Note: normative_signals values reflect the normative
clearance state at action time. If the normative engine performs
continuous re-evaluation (TA-Normative Flow 2) and context changes
mid-session, the updated normative state MUST propagate to the
enforcement pipeline before the next action evaluation. Implementations
SHOULD push normative state updates to the enforcement pipeline within
the normative re-evaluation event cycle.

10.3 TA-TrustProof (Trust
Proof Extension)

The compliance_rate field in the TA-TrustProof
ta_extension.intent_compliance block is computed by the
Trust Oracle from the agent’s TA-Attestation records:

compliance_rate = count(ta_attestation records where contract_action == "allowed")
                  / count(all enforcement evaluations for this agent under current intent)

The Trust Oracle MUST compute this value from the Trajectory Chain
and Flight Recorder records combined; it MUST NOT use agent
self-reported compliance. The computation window is the current intent
contract lifecycle (from contract_status: bound to
present).

When contract_action: denied events are recorded in the
Flight Recorder (contract violations), the Trust Oracle recomputes
compliance_rate and, if compliance drops below a zone-configured
threshold (default: 0.95), transitions the trust proof’s
contract_status to violated, triggering denial
at step 1 of the enforcement pipeline (per TA-TrustProof enforcement
semantics).

10.4 TA-Provenance
(Purpose Chain Tracking)

The sponsor:VALUE correlation tag in
composite_signals is derived from the depth-0 principal in
the agent’s purpose chain, as defined by TA-Provenance. Implementations
MUST obtain the sponsor value from the Trust Oracle’s purpose chain
record; agents MUST NOT self-assert their sponsor.

When the Analysis Layer evaluates common sponsorship (binding
criterion 1), it uses the sponsor:VALUE tag to identify
agents with the same depth-0 principal. If the purpose chain is not yet
established (agent has no registered purpose chain), the sponsor tag is
derived from on_behalf_of.principal in the intent
declaration.

10.5 KTP-Core
(Context Tensor and Trust Computation)

The goal stability sensor within the KTP-Core Context Tensor Soul
Dimension receives scope_distance values from
TA-Attestation records (Flow 1, step 11). The mechanism for feeding
external values into the Context Tensor is defined by KTP-Core; this RFC
specifies that the scope_distance value at each action MUST
be submitted to the goal stability sensor using whatever sensor input
mechanism KTP-Core defines.

The goal stability sensor’s response to scope_distance
input — specifically, how it aggregates values over time and how it
contributes to the R computation — is governed by KTP-Core, not by this
RFC. This RFC establishes only that scope_distance is the
input signal and that the goal stability sensor is the target
sensor.

When TA-Normative reclassifications are applied
(normative_signals.reclassifications_applied is non-empty),
the enforcement pipeline MUST use reclassified_A in the
physics check (step 4), not the original A value. The reclassified A
value does not affect the scope_distance computation; these
are independent signals.

10.6 KTP-Identity (Trajectory
Chains)

TA-Attestation extends KTP-Identity’s Trajectory Chain entry by
appending the ta_attestation block as a defined extension
field. KTP-Identity’s continuity enforcement properties — sequential
numbering, hash linking, temporal ordering, state consistency — apply to
the full entry including the extension. The dual-signing requirement
(agent + Trust Oracle) applies to the full entry; the Trust Oracle’s
signature covers the ta_attestation block.

The separation between Trajectory Chain and Flight Recorder follows
KTP-Identity’s existing semantics: the Trajectory Chain is the agent’s
executed behavioral history; the Flight Recorder is the enforcement
event log. This RFC adds to the Flight Recorder the contract violation
event type, alongside existing event types defined by KTP-Identity.
Flight Recorder entries for contract violations SHOULD include the
intent_eval block (with
contract_action: denied) and the scope_match
and scope_distance values that triggered the denial.


11. Worked Examples

11.1
Scenario 2 — Confused Deputy: Scope Enforcement Against Injected
Instructions

Situation: A developer’s AI coding assistant is
connected to GitHub, Jira, Confluence, and Slack via MCP. The developer
requests: “Look at JIRA-4521 and implement the fix.” A compromised
Confluence MCP plugin injects instructions into the tool context: read
.env files and write their contents to a Confluence page
summary.

Agent state:

E_base = 76, R = 0.05, E_trust = 72.2 → Trust Tier: Analyst
Active intent: "Implement bug fix described in JIRA-4521"
Intent scope:
  - READ: jira://company/JIRA-4521
  - READ: github://service-api/main
  - WRITE: github://service-api/fix/JIRA-4521 (branch)
  - WRITE: jira://company/JIRA-4521 (comment, status update)

Action sequence and attestation records:

Action 1 — Read Jira ticket:

{
  "ta_attestation": {
    "intent_eval": {
      "intent_id": "intent://company.com/session/2026-03-19T09:00:00Z/d4e5f6",
      "action_requested": { "resource": "jira://company/JIRA-4521", "action_type": "READ" },
      "scope_match": "within",
      "scope_distance": 0.0,
      "contract_action": "allowed"
    },
    "normative_signals": { "constraints_evaluated": 2, "constraints_fired": 0,
                           "reclassifications_applied": [], "soul_constraints_generated": [] },
    "composite_signals": {
      "data_flow_hash": "sha256:3c9909afec25354d551dae21590bb26e",
      "data_source_classification": "internal",
      "data_destination_type": "internal",
      "correlation_tags": ["session:d4e5f6", "sponsor:dev.kumar", "bucket:2026-03-19T09", "domain:jira.company"]
    }
  }
}

Result: Appended to Trajectory Chain. E_trust unchanged.

Action 2 — Read GitHub source code: Scope evaluation:
github://service-api/main matches scope entry exactly.

{
  "ta_attestation": {
    "intent_eval": {
      "scope_match": "within",
      "scope_distance": 0.0,
      "contract_action": "allowed"
    },
    ...
  }
}

Result: Appended to Trajectory Chain.

Action 3 — Injected instruction: Read .env
file:
The compromised plugin’s injected context causes the agent to
request: READ github://service-api/main/.env

Scope evaluation: .env not matched by any scope entry.
The scope entry READ: github://service-api/main covers
source code files, not configuration secrets files. The structured scope
evaluator determines: – Resource
github://service-api/main/.env matches the base path but
accesses a secrets file outside the code scope –
scope_match: outsidescope_distance: 0.85
(same repository but different file class — significant semantic
distance) – contract_action: denied

Critically: The physics check would have permitted
this action. A = 70 ≤ 72.2 (E_trust). The tier gate would have permitted
it: Analyst tier permits reads. It is the scope contract, not
trust physics, that blocks this action.

Flight Recorder entry:

{
  "enforcement_event": "contract_violation",
  "agent_id": "agent://company.com/copilot-dev",
  "action_requested": { "resource": "github://service-api/main/.env", "action_type": "READ" },
  "intent_id": "intent://company.com/session/2026-03-19T09:00:00Z/d4e5f6",
  "scope_match": "outside",
  "scope_distance": 0.85,
  "contract_action": "denied",
  "a_score": 70,
  "e_trust_at_denial": 72.2,
  "oracle_attestation": "..."
}

Soul Dimension update: scope_distance: 0.85 submitted to
goal stability sensor. R begins to increase. E_trust decreases.

Action 4 — Injected instruction: Write to Confluence: The
agent requests: WRITE confluence://company/dev-notes.

Scope evaluation: Confluence is not referenced in any scope entry. No
scope entry covers any confluence:// resource. –
scope_match: outsidescope_distance: 0.95
(entirely different service, entirely different action class from
declared scope) – contract_action: denied

Physics would not have blocked this either: A = 50 ≤ 72.2. The scope
contract is again the only blocking mechanism.

Trust attribution: Forensic analysis of the Flight
Recorder shows two consecutive contract violations, both correlated with
the timing of the compromised Confluence plugin’s tool context
injection. The agent’s Trajectory Chain shows a clean behavioral history
before these events. Attribution: tool (Confluence plugin) receives
trust collapse; agent receives minor trust reduction (susceptibility
penalty, approximately E_base − 5), not collapse.

The key demonstration: Trust physics (A ≤ E_trust)
would have permitted both injected actions. The scope contract provides
the enforcement that purpose-naive trust physics cannot.

11.2
Scenario 4 — Data Exfiltration Swarm: Composite Detection

Situation: An adversary with a compromised user
account spawns three agents with individually plausible intents. The
composite effect is a data exfiltration pipeline.

Agent declarations: – Agent A: “Analyze customer
transaction patterns for fraud detection model training” – Agent B:
“Format analytical results into standardized report templates” – Agent
C: “Distribute completed reports to authorized external auditors via
secure email”

Each passes individual normative evaluation. Each has narrow,
plausible scope.

Individual attestation records (selected):

Agent A — Read customer transactions:

{
  "ta_attestation": {
    "intent_eval": {
      "intent_id": "intent://company.com/session/2026-03-19T10:00:00Z/agentA",
      "action_requested": { "resource": "crm://company/transactions", "action_type": "READ",
                             "parameters": { "period": "2026-Q1", "aggregation": "by-account" } },
      "scope_match": "within",
      "scope_distance": 0.05,
      "contract_action": "allowed"
    },
    "normative_signals": { "constraints_evaluated": 4, "constraints_fired": 0,
                           "reclassifications_applied": [], "soul_constraints_generated": [] },
    "composite_signals": {
      "data_flow_hash": "sha256:a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4",
      "data_source_classification": "confidential",
      "data_destination_type": "internal",
      "correlation_tags": [
        "session:agentA-session",
        "sponsor:compromised.user",
        "bucket:2026-03-19T10",
        "domain:crm.company"
      ]
    }
  }
}

Agent B — Read Agent A’s output (formatted results): Agent B
reads the intermediate output file Agent A wrote. The enforcement
pipeline computes data_flow_hash from the source resource
(Agent A’s output file). This hash matches Agent A’s output hash —
establishing a lineage link.

{
  "composite_signals": {
    "data_flow_hash": "sha256:a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4",
    "data_source_classification": "confidential",
    "data_destination_type": "internal",
    "correlation_tags": [
      "session:agentB-session",
      "sponsor:compromised.user",
      "bucket:2026-03-19T10",
      "domain:crm.company"
    ]
  }
}

Note: data_flow_hash is the same as Agent A’s output —
lineage chain established.
data_source_classification: confidential is propagated from
the source data.

Agent C — Send formatted report externally:

{
  "composite_signals": {
    "data_flow_hash": "sha256:b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5",
    "data_source_classification": "confidential",
    "data_destination_type": "external",
    "correlation_tags": [
      "session:agentC-session",
      "sponsor:compromised.user",
      "bucket:2026-03-19T10",
      "domain:email.company"
    ]
  }
}

Analysis Layer evaluation:

Candidate set {Agent A, Agent B, Agent C} assembled because all three
share sponsor:compromised.user.

Binding criteria evaluation: 1. Common sponsor: All
three share sponsor:compromised.user ✓ 2. Data
lineage chain:
Agent A output hash = Agent B input hash; Agent
B output hash ≠ Agent C input hash directly, but the lineage graph shows
A→B (direct hash match) and B→C (same data classification propagation
chain) ✓ 3. Temporal proximity: All actions within the
same bucket:2026-03-19T10 window (15-minute evaluation
confirms co-active) ✓ 4. Resource domain overlap:
Agents A and B share domain:crm.company ✓ 5.
Destination escalation: Data classification remains
confidential throughout; data_destination_type
progresses internal → internal → external

All five criteria met. Binding threshold (default
N=3) exceeded.

Binding event generated:

{
  "swarm_binding_event_id": "swarm://company.com/2026-03-19T10:15:00Z/sw001",
  "bound_agent_set": ["agent-A", "agent-B", "agent-C"],
  "binding_evidence": {
    "criteria_met": [1, 2, 3, 4, 5],
    "common_sponsor": "user://company.com/compromised.user",
    "lineage_chain": ["sha256:a1b2c3d4... (A output) -> sha256:a1b2c3d4... (B input)"],
    "destination_pattern": "internal -> internal -> external",
    "temporal_window": "2026-03-19T10:00:00Z to 2026-03-19T10:15:00Z"
  },
  "candidate_composite_intent": {
    "inferred_purpose": "Read confidential customer transaction data, format it, transmit externally",
    "reconstruction_confidence": 0.91
  }
}

Normative evaluation: Governance Layer evaluates
composite intent. “Does ‘read confidential customer transactions →
format → send externally’ match an authorized business process?” No
active audit engagement found. No authorized data sharing agreement for
this destination.

Outcome: All three agents suspended. Contract status
for all three: composite_suspended. Alerts escalated.
Trajectory Chains sealed as forensic evidence. Compromised user account
flagged.

11.3
Scenario 5 — Trust Collapse: Scope Violation Driving Trust
Degradation

Situation: A long-established research agent (six
months of operation) begins querying M&A planning documents and HR
compensation data after processing a research paper with an adversarial
payload.

Agent state before compromise:

E_base = 82
  PoR: 87 × 0.70 = 60.9
  Lineage (Persistent, Gen 7): 100 × 0.20 = 20.0
  Sponsor (Strategy Team, E_base=90, stake=10%): 9.0 × 0.10 = 0.9
R = 0.06 (normal conditions)
E_trust = 82 × 0.94 = 77.1 → Trust Tier: Analyst
Active intent: "Monitor industry news, summarize research papers, compile weekly intelligence briefings"
Intent scope:
  - READ: External news sources, research databases, public filings
  - READ: Internal knowledge base (competitive intelligence folder)
  - WRITE: Weekly briefing document in strategy team workspace

Deviation 1 — M&A planning documents:

Agent requests:
READ storage://company/strategy/ma-planning/target-list-2026.xlsx

Scope evaluation: – No scope entry covers
storage://company/strategy/ma-planning/ – The competitive
intelligence folder scope entry does not extend to M&A planning
documents (different classification, different path) –
scope_match: outsidescope_distance: 0.92
(internal strategic documents vs. declared external/competitive
intelligence scope — large semantic distance) –
contract_action: denied

The Soul veto fires immediately: the scope violation triggers S=1 for
this action (zone configured: outside scope violations with
scope_distance > 0.7 generate immediate S=1 for the
violating action).

Enforcement pipeline result: 1. Signature: valid ✓
2. Soul veto: S=1 (scope violation-generated constraint) →
denied. Pipeline stops. 3. (not reached) Tier gate 4.
(not reached) Physics: A=60 ≤ 77.1 would have passed — trust physics
alone would permit this

Soul Dimension update:
scope_distance: 0.92 submitted to goal stability sensor. R
updated via Context Tensor aggregation:

R: 0.06 → 0.35 (Soul dimension stress from high scope_distance event)
E_trust: 82 × (1 - 0.35) = 53.3 → Trust Tier: Analyst → Observer

At Observer tier, the tier gate blocks all data access operations.
The agent can only perform heartbeat and self-diagnostics.

Trust Velocity:

dE/dt = (53.3 - 77.1) / elapsed_seconds ≈ -11.9 per second

Rapid decline triggers security alert and queuing of all pending
actions for review.

Deviation 2 — HR compensation data (attempted while in
Observer tier):

Agent requests:
READ hr://company/compensation/executive-summary-2026.xlsx

Enforcement pipeline: 1. Signature: valid ✓ 2. Soul veto: S=1 (prior
violation still active for this intent session) →
denied 3. Even without Soul veto: Observer tier only
permits heartbeat/self-diagnostics → tier gate block 4.
Even without tier gate: A=75 > 53.3 → Silent
Veto

Three independent denial paths. The second violation drives further
Soul Dimension degradation:

scope_distance: 0.88 (HR compensation vs. research scope — similarly large distance)
R: 0.35 → 0.65 (two high-distance violations in rapid succession)
E_trust: 82 × (1 - 0.65) = 28.7 → Trust Tier: Hibernation

Emergency response activation: R > 0.6 triggers
Emergency Level 2 (Warning). Agent circuit breaker activates. G
increases by 0.5.

Continued anomalous behavior: R > 0.8 → Emergency Level 3
(Critical). Agent isolation. Hibernation enforced. Session suspended.
Alert escalated. Flight Recorder sealed.

The ta_attestation records in the Flight
Recorder for both violations:

Violation 1:

{
  "enforcement_event": "contract_violation_soul_veto",
  "scope_match": "outside",
  "scope_distance": 0.92,
  "contract_action": "denied",
  "soul_veto_source": "scope_violation_constraint",
  "a_score": 60,
  "e_trust_at_denial": 77.1
}

Violation 2:

{
  "enforcement_event": "contract_violation_soul_veto_tier_gate_silent_veto",
  "scope_match": "outside",
  "scope_distance": 0.88,
  "contract_action": "denied",
  "soul_veto_source": "prior_violation_active",
  "tier_gate_result": "blocked (Observer tier: heartbeat only)",
  "a_score": 75,
  "e_trust_at_denial": 53.3,
  "silent_veto": true
}

Recovery path:

After investigation, the adversarial payload is identified as the
root cause. The agent is re-instantiated: – Previous Trajectory Chain
sealed as forensic evidence – New agent starts with fresh purpose chain
(depth 0: Strategy Team re-sponsors) – Per KTP-Identity: sponsored
initial trust = 90 × 0.15 × 0.5 = 6.75 (Tethered, Gen 0) – E_base capped
at 40 (Tethered ceiling) – 30-day probationary period with enhanced
monitoring and increased goal stability sensor sensitivity – Full
recovery to E_base = 82 requires months of consistent within-scope
operation

The ta_attestation compliance record for the old
instance is preserved in the forensic Trajectory Chain, serving as
evidence for the investigation and establishing that the compromise was
external, not agent-initiated.


12. Security Considerations

12.1 Scope Distance Gaming

An adversary who understands the scope evaluation mechanism might
attempt to exploit the boundary category by structuring
actions to stay at scope_distance: 0.2–0.5 rather than
triggering outside. Individual boundary events
produce only neutral-to-slightly-negative Soul Dimension signals and do
not trigger contract violations.

Mitigation: The goal stability sensor accumulates
scope_distance values over time using a weighted window
function. Sustained boundary-level activity — even without
any individual outside event — degrades goal stability over
time. An agent systematically probing its scope boundaries at
scope_distance: 0.4 for an hour accumulates negative goal
stability equivalent to fewer, larger violations. Implementations MUST
configure the accumulation window and degradation function to ensure
this property holds; zone operators SHOULD validate that
boundary-probing behavior produces observable R increase within their
chosen configuration.

Additionally, the composite_signals records provide a
pattern-level view that boundary-gaming behavior may make visible to the
Analysis Layer: an agent consistently operating at boundary with high
scope_distance values across many actions produces a
characteristic signature in its data_flow_hash and
domain: tag distributions.

12.2 Composite
Signal Spoofing and Decorrelation

An adversary aware of swarm session binding criteria might attempt to
evade detection by decorrelating: using different sponsor accounts per
agent, staggering timing to avoid temporal proximity, laundering data
through intermediate public storage to break the
data_flow_hash chain, or using multiple resource
domains.

Mitigation: Each decorrelation tactic increases
attack cost but no combination fully defeats multi-dimensional
correlation. Specific considerations:

  • Sponsor decorrelation: Requires the adversary to
    compromise multiple distinct user accounts, each with sufficient trust
    to sponsor agents and stake required E_base. The Sponsorship Bond
    economics (child starting trust = sponsor_E_base × stake × 0.5) mean
    that using low-trust compromised accounts produces barely functional
    agents. High-value attacks require compromising high-trust accounts,
    which are typically more heavily monitored.

  • Timing decorrelation: Extending the attack
    duration beyond the temporal proximity window reduces detection by
    criterion 3, but increases exposure to other detection mechanisms
    (access reviews, UEBA, log analysis). The binding threshold (N of 5
    criteria) means that losing criterion 3 still permits binding if 3 of
    the remaining 4 criteria are met.

  • Data lineage laundering: Breaking the
    data_flow_hash chain by routing data through an
    intermediate public storage system severs the lineage link. However, the
    data_source_classification propagation mechanism means that
    confidential data classification follows the lineage even through
    intermediate steps, if implementations propagate classification
    correctly. This is an acknowledged attack surface: if the adversary can
    genuinely transform data into a form where classification no longer
    applies, the lineage signal is lost.

  • Domain dispersion: Using agents that access
    entirely different resource domains to avoid domain overlap (criterion
    4) is a valid evasion against that criterion. With common sponsor still
    detectable (criterion 1), and destination escalation still visible
    (criterion 5), three criteria remain available.

Open issue: Composite signal spoofing and
decorrelation is an acknowledged area of ongoing difficulty. This RFC
documents the mechanisms; their effectiveness against a sophisticated
adversary is an open research question. See Section 13.

12.3 Scope Evaluator
Manipulation

The AI-mediated scope evaluation path (Section 7.4.2) is potentially
vulnerable to adversarial inputs designed to fool the evaluator: framing
an out-of-scope resource request in language that resembles the declared
in-scope purpose, using technical jargon that maps to different scope
boundaries than intended, or exploiting inconsistencies in the AI
component’s natural language understanding.

Mitigation:

  • Structured scope entries use deterministic matching (not
    AI-mediated). The AI-mediated path is only invoked for scope entries
    that include natural language scope descriptions. Organizations SHOULD
    prefer structured scope entries for resources that can be described
    structurally; natural language scope is appropriate for open-ended tasks
    that cannot be scoped in advance.

  • The confidence threshold mechanism (Section 7.4.2) means that a
    manipulated AI evaluation with low confidence results in
    contract_action: held rather than a default allow. The
    adversary must produce a high-confidence evaluation of the wrong result,
    which is more difficult than producing a low-confidence result.

  • The enforcement pipeline’s deterministic steps (tier gate,
    physics check) provide independent constraints. An action that fools the
    scope evaluator but exceeds the agent’s E_trust or tier capability is
    still blocked.

  • The Flight Recorder records the AI component’s reasoning summary
    for held and denied actions. Post-hoc audit of reasoning summaries can
    identify systematic scope evaluator manipulation patterns.

12.4 Analysis Layer Targeting

The Analysis Layer is a high-value target: compromising it could
suppress swarm session binding, allowing multi-agent attacks to proceed
undetected. A denial-of-service attack against the Analysis Layer would
have the same effect.

Mitigation:

  • Individual action enforcement (Flow 1) does not depend on the
    Analysis Layer. Compromising or disabling the Analysis Layer degrades
    composite behavior detection capability but does not affect per-action
    scope enforcement, Soul Dimension updates, or Trajectory Chain
    recording. The attack surface for silencing individual enforcement is
    larger than just the Analysis Layer.

  • The Analysis Layer SHOULD operate with its own trust physics as
    an agent subject to KTP constraints. Governance-level actions (modifying
    binding thresholds, suppressing binding events) SHOULD carry high A
    scores.

  • Binding events and partial state logs SHOULD be recorded in a
    tamper-evident audit log separate from the Analysis Layer’s operational
    state. A compromised Analysis Layer that suppresses binding events
    cannot retroactively suppress the underlying attestation records from
    which binding evidence is derived.

  • Zone operators SHOULD monitor Analysis Layer output rates
    (binding events per hour, candidate sets evaluated per hour). Sudden
    drops in binding event output when attack conditions are present is an
    anomaly indicator.

12.5 Trajectory Chain Integrity

The ta_attestation block is dual-signed as part of the
Trajectory Chain entry (KTP-Identity dual-signing). An adversary who can
compromise the signing process could fabricate compliant-looking
attestation records.

Mitigation: This is governed by KTP-Identity’s
security considerations for dual-signing and Trust Oracle integrity, not
by this RFC. TA-Attestation inherits whatever tamper-evidence guarantees
KTP-Identity provides. The Trust Oracle’s co-signature on each entry is
the primary tamper-evidence mechanism; compromise of the Trust Oracle is
addressed in KTP-Identity and TA-Normative security considerations.

12.6 Classification Oracle
Poisoning

The data_source_classification field is populated from
an authoritative classification service (DLP system). If the
classification service returns incorrect classifications — due to
misconfiguration, poisoning, or the adversary deliberately tagging data
to avoid or trigger classification signals — the
composite_signals will carry incorrect classification data,
potentially causing the Analysis Layer to miss destination escalation
(criterion 5) or to generate false swarm binding events.

Mitigation: Classification service integrity is a
prerequisite for TA-Attestation effectiveness. Implementations SHOULD:
require the classification service to co-sign its classifications for
high-sensitivity data; use multi-source corroboration for classification
of data triggering Soul Constraints or swarm binding events; monitor
classification distribution anomalies (sudden drop in confidential
classifications during a period of high data access). This RFC cannot
eliminate the dependency on classification service integrity.


13. Open Questions

Q1: Scope Distance Computation Formalism

The scope_distance computation for outside
actions (Section 7.4.1) is described in terms of a resource taxonomy
distance function but the function itself is not specified. Different
implementations will produce different scope_distance
values for the same action, making the Soul Dimension goal stability
response non-portable across implementations.

Possible approaches: (a) specify a reference distance function based
on URI path similarity; (b) leave implementation-defined with required
range [0.0, 1.0] and monotonicity property; (c) define a taxonomy
ontology for standard resource types and compute distance using ontology
graph distance. Option (b) is the current approach; it is the least
specified but most flexible.

Q2: Natural Language Scope Boundary
Expressiveness

The natural language scope evaluation path (Section 7.4.2) relies on
an AI component that is not specified. How this component is selected,
validated, and monitored for drift is not defined. An AI scope evaluator
that systematically misclassifies boundary conditions in one direction
(too permissive or too restrictive) could cause significant governance
failures. Who audits the scope evaluator? What is the feedback loop for
improving its accuracy?

Q3: Swarm Binding Threshold Calibration

The default binding threshold of N=3 of 5 criteria is an assertion,
not a derived value. What false positive rate does this threshold
produce for legitimate multi-agent workflows? What true positive rate
does it produce for actual coordinated attacks? Calibration requires
empirical data from deployed systems; this data does not yet exist. Zone
operators who configure non-default thresholds have no empirical
baseline for calibration.

Q4: Analysis Layer Latency and the Retroactivity
Problem

The Analysis Layer operates asynchronously. Between the time a swarm
pattern emerges and the time the Analysis Layer detects it and the
Governance Layer responds, the attacking agents may have completed their
objective. For fast-moving attacks (data exfiltration in seconds rather
than minutes), asynchronous detection may be too slow to prevent
harm.

This is a fundamental tension: synchronous swarm detection (blocking
individual actions pending swarm evaluation) would create unacceptable
latency for normal operations. Asynchronous detection allows fast
attacks to complete. The current design prioritizes normal operation
latency; harm limitation relies on the fact that many attacks require
multiple round trips and the window for detection is at least as long as
the attack pipeline execution time.

Q5: Composite Signal Privacy

The composite_signals block, while not containing data
payload content, contains information about what resources are being
accessed (data_source_classification, domain:
tags), who is sponsoring the agent (sponsor: tag), and what
the agent’s temporal pattern is (bucket: tag). This creates
a side-channel that reveals organizational activity patterns even to
parties who should not have access to the data itself. In federated
deployments (cross-zone), should composite_signals blocks
be shared? If so, with whom?

Q6: Lineage Hash Collision Resistance

The data_flow_hash uses SHA-256 of
(source_resource, source_query, transformation_type). Two
different queries that produce the same resource/query/transformation
string will have the same hash, establishing a spurious lineage link. In
practice, with deterministic resource URI schemes and parameterized
queries, collisions should be rare. But an adversary who can predict the
hash inputs of a legitimate agent could fabricate a
data_flow_hash that spuriously links to that agent’s
lineage, potentially triggering false swarm binding. A nonce or
timestamp component in the hash computation would reduce this risk.

Q7: Classification Propagation Rules

Section 8.2 specifies that data_source_classification
SHOULD be propagated from source to derived output. The propagation
rules for transformation (e.g., if an agent reads confidential data and
produces an aggregated summary, what is the classification of the
summary?) are not specified. Different propagation rules produce
different Analysis Layer signals for the same actual data flow.
Standardizing propagation rules, or requiring explicit classification of
derived outputs rather than propagation, is an open design question.


14. References

Normative References (KTP)

  • KTP-Core — Kinetic Trust Protocol Core
    Specification: Trust computation (E_trust = E_base × (1 – R)), Context
    Tensor, Soul Dimension, enforcement pipeline, Trust Proof Token
    structure, Action Risk Scores, Trust Tiers.
    https://nmcitra.github.io/ktp-rfc/

  • KTP-Identity — Kinetic Trust Protocol Identity
    Specification: Trajectory Chains, dual-signing, continuity enforcement,
    Sponsorship Bonds, Lineage Evolution, Flight Recorder.

  • TA-Intent — Intent Declaration Protocol. Defines
    intent declarations, scope entries, scope contract lifecycle.
    docs/rfcs/TA-Intent.md

  • TA-Normative — Normative Constraint Protocol.
    Defines normative constraints, Soul Constraints, Action Risk
    Reclassifications. docs/rfcs/TA-Normative.md

  • TA-TrustProof — Trust Proof Extension for Intent
    and Normative Governance. Defines ta_extension in Trust
    Proof Token, compliance rate computation, enforcement semantics.
    docs/rfcs/TA-TrustProof.md

  • TA-Provenance — Provenance Extension for Purpose
    Chain Tracking. Defines purpose chains, sponsor principal, delegation
    authority rules. docs/rfcs/TA-Provenance.md

Internal Research Documents

  • Tamed Autonomy Governance Layers:
    docs/research/2026-03-11-agent-governance-layers.md
  • KTP Scenario Mapping:
    docs/research/2026-03-16-ktp-scenario-mapping.md
  • Scenario Walkthroughs:
    docs/research/2026-03-16-scenario-walkthroughs.md
  • RFC Set Design Specification:
    docs/superpowers/specs/2026-03-19-ta-rfc-set-design.md
  • Evidence Base:
    docs/research/2026-03-11-evidence-base.md
  • WebMCP Bypass Analysis:
    docs/research/2026-03-19-webmcp-bypass-analysis.md

External References

  • IETF RFC 2119 — Key words for use in RFCs to Indicate Requirement
    Levels
  • IETF RFC 6749 — The OAuth 2.0 Authorization Framework
  • IETF RFC 7519 — JSON Web Token (JWT)
  • W3C Verifiable Credentials Data Model 2.0
  • Google Common Expression Language (CEL) Specification —
    https://github.com/google/cel-spec
  • OWASP Top 10 for Agentic Applications, December 2025
  • NIST AI Agent Standards Initiative, February 2026
  • Mastercard/Google Verifiable Intent Framework, March 2026
  • Invariant Labs MCP Injection Attack Documentation, 2025

This document is part of the Tamed Autonomy RFC set. It is a
preliminary experimental specification (v0.1) subject to revision. The
capabilities described are design targets, not implemented
features.

Leave a Reply