II.
HookSurface JSON
Structured · livehook-surface:phase-change
PhaseChange (a5c canonical) json
Inspect the normalized record payload exactly as the atlas UI reads it.
{
"id": "hook-surface:phase-change",
"_kind": "HookSurface",
"_file": "channels-hooks/hook-surfaces/canonical/phase-change.yaml",
"_cluster": "channels-hooks",
"attributes": {
"eventName": "PhaseChange (a5c canonical)",
"displayName": "PhaseChange (a5c canonical)",
"kind": "canonical",
"direction": "event",
"blocking": false,
"family": "in-process",
"payloadSchema": {
"type": "object",
"required": [
"fromPhase",
"toPhase",
"runId"
],
"properties": {
"fromPhase": {
"type": "string"
},
"toPhase": {
"type": "string"
},
"runId": {
"type": "string"
},
"reason": {
"type": "string"
}
}
},
"description": "Fires on every successful PhaseTransition within a Run.\nObserver-style; cannot abort. For gating use PhaseChangeCheck.\n"
},
"outgoingEdges": [],
"incomingEdges": [
{
"from": "agent-core-impl:a5c.core@current",
"to": "hook-surface:phase-change",
"kind": "fires_hook",
"attributes": {}
},
{
"from": "hook-mapping:phase-change-babysitter",
"to": "hook-surface:phase-change",
"kind": "maps_hook",
"attributes": {}
}
]
}