iiRecord
Agentic AI Atlas · DecisionPoint (a5c canonical)
hook-surface:decision-pointa5c.ai
II.
HookSurface JSON

hook-surface:decision-point

Structured · live

DecisionPoint (a5c canonical) json

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

File · channels-hooks/hook-surfaces/canonical/decision-point.yamlCluster · channels-hooks
Record JSON
{
  "id": "hook-surface:decision-point",
  "_kind": "HookSurface",
  "_file": "channels-hooks/hook-surfaces/canonical/decision-point.yaml",
  "_cluster": "channels-hooks",
  "attributes": {
    "eventName": "DecisionPoint (a5c canonical)",
    "displayName": "DecisionPoint (a5c canonical)",
    "kind": "canonical",
    "direction": "pre",
    "blocking": true,
    "family": "in-process",
    "payloadSchema": {
      "type": "object",
      "required": [
        "runId",
        "decisionId",
        "options"
      ],
      "properties": {
        "runId": {
          "type": "string"
        },
        "decisionId": {
          "type": "string"
        },
        "options": {
          "type": "array",
          "items": {
            "type": "object"
          }
        }
      }
    },
    "description": "a5c-emitted: a decision/breakpoint that requires user (or policy)\ninput before continuing. Replaces the legacy Breakpoint surface.\n"
  },
  "outgoingEdges": [
    {
      "from": "hook-surface:decision-point",
      "to": "merge-policy:most-restrictive",
      "kind": "uses_merge_policy",
      "attributes": {}
    },
    {
      "from": "hook-surface:decision-point",
      "to": "merge-policy:protected-prefixes",
      "kind": "uses_merge_policy",
      "attributes": {}
    }
  ],
  "incomingEdges": [
    {
      "from": "agent-core-impl:a5c.core@current",
      "to": "hook-surface:decision-point",
      "kind": "fires_hook",
      "attributes": {}
    },
    {
      "from": "hook-mapping:decision-point-babysitter",
      "to": "hook-surface:decision-point",
      "kind": "maps_hook",
      "attributes": {}
    }
  ]
}