RFC-015: Unified Observability Protocol (UOP) — 8. Integration Points
AIGP Specification › RFC-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 storesAIGP RECORD governance-server receives it extracts AIGP_RECORD signal stores + aggregatesACP FETCH Provider logs it governance-server receives via AIGP RECORD extracts ACP_FETCH signalALP events runbook-service emits governance-server receives via dedicated UOP endpoint8.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/signalHeaders: 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