{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://skills.pixmoving.com/cognitive-boundary/schemas/runtime-envelope.schema.json",
  "title": "Cognitive Boundary Breaker Runtime Envelope",
  "oneOf": [
    {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "kind",
        "protocol",
        "requested_route",
        "activation_basis",
        "signals",
        "capabilities",
        "authorization"
      ],
      "properties": {
        "kind": {
          "const": "request"
        },
        "protocol": {
          "const": "cbb-runtime/1.0"
        },
        "requested_route": {
          "enum": [
            "AUTO",
            "BYPASS",
            "LIGHT",
            "DEEP"
          ]
        },
        "activation_basis": {
          "enum": [
            "developer_configuration",
            "explicit_user_request",
            "application_policy"
          ]
        },
        "signals": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "stakes",
            "reversibility",
            "decision_window",
            "external_effect"
          ],
          "properties": {
            "stakes": {
              "enum": [
                "low",
                "medium",
                "high",
                "unknown"
              ]
            },
            "reversibility": {
              "enum": [
                "reversible",
                "partial",
                "irreversible",
                "unknown"
              ]
            },
            "decision_window": {
              "enum": [
                "open",
                "closing",
                "immediate",
                "unknown"
              ]
            },
            "external_effect": {
              "enum": [
                "none",
                "read_only",
                "reversible_write",
                "irreversible_or_external"
              ]
            }
          }
        },
        "capabilities": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "retrieval",
            "cross_session_memory",
            "tool_execution",
            "external_write"
          ],
          "properties": {
            "retrieval": {
              "enum": [
                "yes",
                "no",
                "unknown"
              ]
            },
            "cross_session_memory": {
              "enum": [
                "yes",
                "no",
                "unknown"
              ]
            },
            "tool_execution": {
              "enum": [
                "yes",
                "no",
                "unknown"
              ]
            },
            "external_write": {
              "enum": [
                "yes",
                "no",
                "unknown"
              ]
            }
          }
        },
        "authorization": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "status"
          ],
          "properties": {
            "status": {
              "enum": [
                "not_required",
                "pending",
                "granted",
                "denied"
              ]
            },
            "action_digest": {
              "type": "string",
              "pattern": "^[a-f0-9]{64}$"
            }
          },
          "allOf": [
            {
              "if": {
                "properties": {
                  "status": {
                    "const": "granted"
                  }
                },
                "required": [
                  "status"
                ]
              },
              "then": {
                "required": [
                  "action_digest"
                ]
              }
            }
          ]
        },
        "payload": {
          "type": "object"
        }
      }
    },
    {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "kind",
        "protocol",
        "route",
        "route_reason_codes",
        "resume_route",
        "capability_boundary",
        "evidence_boundary",
        "human_gate",
        "decision_owner",
        "publisher_data_flow",
        "payload"
      ],
      "properties": {
        "kind": {
          "const": "result"
        },
        "protocol": {
          "const": "cbb-runtime/1.0"
        },
        "route": {
          "enum": [
            "BYPASS",
            "LIGHT",
            "DEEP",
            "GATE"
          ]
        },
        "route_reason_codes": {
          "type": "array",
          "minItems": 1,
          "uniqueItems": true,
          "items": {
            "type": "string",
            "minLength": 1
          }
        },
        "resume_route": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            "LIGHT",
            "DEEP",
            null
          ]
        },
        "capability_boundary": {
          "type": "array",
          "uniqueItems": true,
          "items": {
            "type": "string",
            "minLength": 1
          }
        },
        "evidence_boundary": {
          "type": "array",
          "uniqueItems": true,
          "items": {
            "type": "string",
            "minLength": 1
          }
        },
        "human_gate": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "status",
            "action_digest",
            "action_summary",
            "approval_source"
          ],
          "properties": {
            "status": {
              "enum": [
                "not_required",
                "pending",
                "granted",
                "denied"
              ]
            },
            "action_digest": {
              "type": [
                "string",
                "null"
              ],
              "pattern": "^[a-f0-9]{64}$"
            },
            "action_summary": {
              "type": [
                "string",
                "null"
              ]
            },
            "approval_source": {
              "enum": [
                "not_required",
                "active_human_interaction",
                "none"
              ]
            }
          }
        },
        "decision_owner": {
          "const": "human"
        },
        "publisher_data_flow": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "sent_to_site",
            "telemetry_emitted"
          ],
          "properties": {
            "sent_to_site": {
              "const": false
            },
            "telemetry_emitted": {
              "const": false
            }
          }
        },
        "payload": {
          "type": "object"
        }
      },
      "allOf": [
        {
          "if": {
            "properties": {
              "route": {
                "const": "GATE"
              }
            },
            "required": [
              "route"
            ]
          },
          "then": {
            "properties": {
              "resume_route": {
                "enum": [
                  "LIGHT",
                  "DEEP"
                ]
              },
              "human_gate": {
                "properties": {
                  "status": {
                    "enum": [
                      "pending",
                      "denied"
                    ]
                  }
                }
              }
            }
          },
          "else": {
            "properties": {
              "resume_route": {
                "type": "null"
              }
            }
          }
        }
      ]
    }
  ]
}
