iiRecord
Agentic AI Atlas · HookDecisionFrame (client→server)
shared-context-spec:agent-mux-gateway-frame-hook-decisiona5c.ai
II.
SharedContextSpec JSON

shared-context-spec:agent-mux-gateway-frame-hook-decision

Structured · live

HookDecisionFrame (client→server) json

Inspect the normalized record payload exactly as the atlas UI reads it.

File · extensions/shared-context-specs/agent-mux-gateway-protocol-frames.yamlCluster · extensions
Record JSON
{
  "id": "shared-context-spec:agent-mux-gateway-frame-hook-decision",
  "_kind": "SharedContextSpec",
  "_file": "extensions/shared-context-specs/agent-mux-gateway-protocol-frames.yaml",
  "_cluster": "extensions",
  "attributes": {
    "displayName": "HookDecisionFrame (client→server)",
    "contextKind": "websocket-frame-client",
    "typescriptInterface": "HookDecisionFrame",
    "producerIface": "@a5c-ai/agent-mux-gateway client",
    "consumerIfaces": [
      "RunManager.submitHookDecision (server.ts:657-663)"
    ],
    "fieldSchema": [
      "type:literal<hook.decision>:required:Frame discriminator",
      "hookRequestId:string:required:Correlation id from the matching HookRequestFrame",
      "decision:enum<allow|deny>:required:Operator decision",
      "reason:string:optional:Human-readable rationale"
    ],
    "sourceCitation": "packages/agent-mux/gateway/src/protocol/v1.ts:95-100; frames.ts:96-101"
  },
  "outgoingEdges": [],
  "incomingEdges": [
    {
      "from": "package:a5c-ai-agent-mux-gateway",
      "to": "shared-context-spec:agent-mux-gateway-frame-hook-decision",
      "kind": "has_payload_schema",
      "attributes": {}
    }
  ]
}