Skip to content

RFC-015: Unified Observability Protocol (UOP) — 8. Integration Points

AIGP SpecificationRFC-015: Unified Observability Protocol (UOP) › 8. Integration Points

← 7. Storage · Section index · 9. Summary →

8. Integration Points

8.1 Per-Amigo Responsibilities

Each amigo emits UOP signals as a side effect of its normal protocol operations.

Amigo Emits Receives
identity-service AIGP_REQUEST, AIGP_RECORD, ACP_FETCH (as provider) Dashboard data (via governance-server UI)
analytics-service AIGP_REQUEST, AIGP_RECORD, ACP_FETCH (as provider) Dashboard data (via governance-server UI)
runbook-service AIGP_REQUEST, AIGP_RECORD, ACP_FETCH (as assembler), ALP_* Dashboard data, alerts (via governance-server UI)
governance-server AIGP_DECISION, ACP_FETCH (as provider), UOP_ALERT Receives all signals, runs aggregation, serves dashboard

8.2 Signal Emission

Applications emit signals by including UOP metadata in existing protocol messages. No separate UOP endpoint is required governance-server extracts signals from AIGP and ACP traffic it already receives.

AIGP REQUEST governance-server receives it extracts AIGP_REQUEST signal stores
AIGP RECORD governance-server receives it extracts AIGP_RECORD signal stores + aggregates
ACP FETCH Provider logs it governance-server receives via AIGP RECORD extracts ACP_FETCH signal
ALP events runbook-service emits governance-server receives via dedicated UOP endpoint

8.3 ALP Signal Endpoint

ALP signals are the only signals that require a dedicated endpoint, since artifact lifecycle events are not part of AIGP or ACP traffic:

POST /api/v1/uop/signal
Headers:
X-AIGP-Signature: hmac-sha256={signature}
X-AIGP-Timestamp: {iso_timestamp}
X-AIGP-App-Id: {app_id}
X-UOP-Request-Id: {request_id}
Content-Type: application/json
Body:
{
"signal_type": "ALP_CREATE",
"signal_id": "sig-1714800004300-xyz",
"request_id": "req-1714800000000",
"app_id": "runbook-service",
"timestamp": "2026-05-04T10:00:04.300Z",
"payload": {
"artifact_id": "art-remediation-001",
"artifact_type": "python_script",
"plan_id": "plan-prisma-gaps-v1"
}
}

8.4 AIGP Relationship

UOP is a consumer of AIGP not a replacement. The relationship:

Aspect AIGP (RFC-010) ACP (RFC-011) UOP (RFC-015)
Purpose Govern AI invocations Assemble agent context Observe everything
Controls What AI can DO What AI can KNOW What operators can SEE
Data flow App governance-server Provider Assembler Receiver All amigos governance-server
Storage Same DynamoDB table Provider-local + governance-server Same DynamoDB table
Auth HMAC-SHA256 HMAC-SHA256 HMAC-SHA256 (same)

8.5 Zero External Dependencies

UOP is fully self-contained within governance-server:

  • No Prometheus metrics are DynamoDB aggregates queried by the governance-server API
  • No Grafana dashboards are rendered by the governance-server UI (React)
  • No CloudWatch Dashboards all visualization is in-app
  • No SNS/SQS for signal transport signals arrive via existing HTTP protocol traffic
  • No separate database same governance-server DynamoDB single-table

← 7. Storage · Section index · 9. Summary →