changedOutput schema / anyOf
Previous value: -[
- {
- "$schema": "https://json-schema.org/draft/2020-12/schema",
- "additionalProperties": {},
- "properties": {
- "attempts": {
- "items": {
- "additionalProperties": false,
- "properties": {
- "error_code": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "type": "null"
- }
- ]
- },
- "operation_id": {
- "type": "string"
- },
- "resource_id": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "type": "null"
- }
- ]
- },
- "status": {
- "enum": [
- "completed",
- "failed"
- ],
- "type": "string"
- }
- },
- "required": [
- "operation_id",
- "status",
- "resource_id",
- "error_code"
- ],
- "type": "object"
- },
- "maxItems": 50,
- "type": "array"
- },
- "blockers": {
- "items": {
- "additionalProperties": false,
- "properties": {
- "code": {
- "pattern": "^[A-Z][A-Z0-9_]{2,63}$",
- "type": "string"
- },
- "message": {
- "maxLength": 500,
- "minLength": 1,
- "type": "string"
- },
- "recovery_hint": {
- "maxLength": 500,
- "minLength": 1,
- "type": "string"
- },
- "resource": {
- "anyOf": [
- {
- "maxLength": 160,
- "minLength": 1,
- "type": "string"
- },
- {
- "type": "null"
- }
- ]
- }
- },
- "required": [
- "code",
- "message",
- "resource",
- "recovery_hint"
- ],
- "type": "object"
- },
- "type": "array"
- },
- "blueprint_id": {
- "anyOf": [
- {
- "pattern": "^sha256:[a-f0-9]{64}$",
- "type": "string"
- },
- {
- "type": "null"
- }
- ]
- },
- "error": {
- "anyOf": [
- {
- "additionalProperties": false,
- "properties": {
- "code": {
- "pattern": "^[A-Z][A-Z0-9_]{2,63}$",
- "type": "string"
- },
- "operation_id": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "type": "null"
- }
- ]
- },
- "retriable": {
- "type": "boolean"
- },
- "retry_after_ms": {
- "maximum": 9007199254740991,
- "minimum": 0,
- "type": "integer"
- },
- "status": {
- "anyOf": [
- {
- "maximum": 599,
- "minimum": 100,
- "type": "integer"
- },
- {
- "type": "null"
- }
- ]
- }
- },
- "required": [
- "operation_id",
- "code",
- "retriable",
- "status"
- ],
- "type": "object"
- },
- {
- "type": "null"
- }
- ]
- },
- "evidence": {
- "additionalProperties": false,
- "properties": {
- "activity": {
- "anyOf": [
- {
- "additionalProperties": false,
- "properties": {
- "evidence_id": {
- "pattern": "^sha256:[a-f0-9]{64}$",
- "type": "string"
- },
- "observed": {
- "additionalProperties": false,
- "properties": {
- "bindings": {
- "additionalProperties": false,
- "properties": {
- "automod_rules": {
- "additionalProperties": {
- "pattern": "^\\d{17,20}$",
- "type": "string"
- },
- "propertyNames": {
- "pattern": "^[a-z][a-z0-9_]{0,63}$",
- "type": "string"
- },
- "type": "object"
- },
- "categories": {
- "additionalProperties": {
- "pattern": "^\\d{17,20}$",
- "type": "string"
- },
- "propertyNames": {
- "pattern": "^[a-z][a-z0-9_]{0,63}$",
- "type": "string"
- },
- "type": "object"
- },
- "channels": {
- "additionalProperties": {
- "pattern": "^\\d{17,20}$",
- "type": "string"
- },
- "propertyNames": {
- "pattern": "^[a-z][a-z0-9_]{0,63}$",
- "type": "string"
- },
- "type": "object"
- },
- "publications": {
- "additionalProperties": {
- "pattern": "^\\d{17,20}$",
- "type": "string"
- },
- "propertyNames": {
- "pattern": "^[a-z][a-z0-9_]{0,63}$",
- "type": "string"
- },
- "type": "object"
- },
- "roles": {
- "additionalProperties": {
- "pattern": "^\\d{17,20}$",
- "type": "string"
- },
- "propertyNames": {
- "pattern": "^[a-z][a-z0-9_]{0,63}$",
- "type": "string"
- },
- "type": "object"
- }
- },
- "required": [
- "roles",
- "categories",
- "channels",
- "automod_rules",
- "publications"
- ],
- "type": "object"
- },
- "blueprint_readback_match": {
- "const": true,
- "type": "boolean"
- },
- "checkpoint_version": {
- "maximum": 9007199254740991,
- "minimum": 0,
- "type": "integer"
- },
- "completed_operation_ids": {
- "items": {
- "maxLength": 160,
- "minLength": 1,
- "type": "string"
- },
- "maxItems": 128,
- "type": "array"
- },
- "final_snapshot_id": {
- "pattern": "^sha256:[a-f0-9]{64}$",
- "type": "string"
- },
- "initial_snapshot_id": {
- "pattern": "^sha256:[a-f0-9]{64}$",
- "type": "string"
- }
- },
- "required": [
- "initial_snapshot_id",
- "final_snapshot_id",
- "checkpoint_version",
- "completed_operation_ids",
- "bindings",
- "blueprint_readback_match"
- ],
- "type": "object"
- },
- "plan_invariants": {
- "additionalProperties": false,
- "properties": {
- "expected_counts": {
- "additionalProperties": false,
- "properties": {
- "automod": {
- "maximum": 9007199254740991,
- "minimum": 0,
- "type": "integer"
- },
- "categories": {
- "maximum": 9007199254740991,
- "minimum": 0,
- "type": "integer"
- },
- "channels": {
- "maximum": 9007199254740991,
- "minimum": 0,
- "type": "integer"
- },
- "components_v2": {
- "maximum": 9007199254740991,
- "minimum": 0,
- "type": "integer"
- },
- "guild": {
- "const": 1,
- "type": "number"
- },
- "identity": {
- "const": 2,
- "type": "number"
- },
- "onboarding": {
- "exclusiveMinimum": 0,
- "maximum": 9007199254740991,
- "type": "integer"
- },
- "ordering": {
- "const": 2,
- "type": "number"
- },
- "roles": {
- "maximum": 9007199254740991,
- "minimum": 0,
- "type": "integer"
- },
- "welcome_screen": {
- "const": 1,
- "type": "number"
- }
- },
- "required": [
- "identity",
- "roles",
- "categories",
- "channels",
- "ordering",
- "guild",
- "welcome_screen",
- "onboarding",
- "automod",
- "components_v2"
- ],
- "type": "object"
- },
- "safety_policy": {
- "additionalProperties": false,
- "properties": {
- "bot_permission_grants": {
- "const": 0,
- "type": "number"
- },
- "dangerous_generated_permissions": {
- "const": 0,
- "type": "number"
- },
- "discord_managed_role_mutations": {
- "const": 0,
- "type": "number"
- },
- "source_permissions_applied": {
- "const": false,
- "type": "boolean"
- }
- },
- "required": [
- "source_permissions_applied",
- "dangerous_generated_permissions",
- "bot_permission_grants",
- "discord_managed_role_mutations"
- ],
- "type": "object"
- }
- },
- "required": [
- "expected_counts",
- "safety_policy"
- ],
- "type": "object"
- },
- "recorded_at": {
- "format": "date-time",
- "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
- "type": "string"
- },
- "schema_version": {
- "const": "guild_blueprint_activity_evidence.v1",
- "type": "string"
- }
- },
- "required": [
- "schema_version",
- "evidence_id",
- "recorded_at",
- "plan_invariants",
- "observed"
- ],
- "type": "object"
- },
- {
- "type": "null"
- }
- ]
- },
- "bindings": {
- "additionalProperties": false,
- "properties": {
- "automod_rules": {
- "additionalProperties": {
- "pattern": "^\\d{17,20}$",
- "type": "string"
- },
- "propertyNames": {
- "pattern": "^[a-z][a-z0-9_]{0,63}$",
- "type": "string"
- },
- "type": "object"
- },
- "categories": {
- "additionalProperties": {
- "pattern": "^\\d{17,20}$",
- "type": "string"
- },
- "propertyNames": {
- "pattern": "^[a-z][a-z0-9_]{0,63}$",
- "type": "string"
- },
- "type": "object"
- },
- "channels": {
- "additionalProperties": {
- "pattern": "^\\d{17,20}$",
- "type": "string"
- },
- "propertyNames": {
- "pattern": "^[a-z][a-z0-9_]{0,63}$",
- "type": "string"
- },
- "type": "object"
- },
- "publications": {
- "additionalProperties": {
- "pattern": "^\\d{17,20}$",
- "type": "string"
- },
- "propertyNames": {
- "pattern": "^[a-z][a-z0-9_]{0,63}$",
- "type": "string"
- },
- "type": "object"
- },
- "roles": {
- "additionalProperties": {
- "pattern": "^\\d{17,20}$",
- "type": "string"
- },
- "propertyNames": {
- "pattern": "^[a-z][a-z0-9_]{0,63}$",
- "type": "string"
- },
- "type": "object"
- }
- },
- "required": [
- "roles",
- "categories",
- "channels",
- "automod_rules",
- "publications"
- ],
- "type": "object"
- },
- "checkpoint_persisted": {
- "type": "boolean"
- },
- "completed_operation_ids": {
- "items": {
- "type": "string"
- },
- "maxItems": 256,
- "type": "array"
- },
- "guild_verified": {
- "type": "boolean"
- },
- "identity_verified": {
- "type": "boolean"
- },
- "readback": {
- "enum": [
- "match",
- "drift",
- "not_run"
- ],
- "type": "string"
- },
- "snapshot_id_after": {
- "anyOf": [
- {
- "pattern": "^sha256:[a-f0-9]{64}$",
- "type": "string"
- },
- {
- "type": "null"
- }
- ]
- },
- "snapshot_id_before": {
- "anyOf": [
- {
- "pattern": "^sha256:[a-f0-9]{64}$",
- "type": "string"
- },
- {
- "type": "null"
- }
- ]
- }
- },
- "required": [
- "identity_verified",
- "guild_verified",
- "readback",
- "snapshot_id_before",
- "snapshot_id_after",
- "checkpoint_persisted",
- "bindings",
- "completed_operation_ids",
- "activity"
- ],
- "type": "object"
- },
- "next_action": {
- "enum": [
- "done",
- "resume",
- "replan",
- "fix_configuration"
- ],
- "type": "string"
- },
- "plan_id": {
- "anyOf": [
- {
- "pattern": "^sha256:[a-f0-9]{64}$",
- "type": "string"
- },
- {
- "type": "null"
- }
- ]
- },
- "progress": {
- "additionalProperties": false,
- "properties": {
- "attempted_this_call": {
- "maximum": 9007199254740991,
- "minimum": 0,
- "type": "integer"
- },
- "checkpoint_version": {
- "anyOf": [
- {
- "maximum": 9007199254740991,
- "minimum": 0,
- "type": "integer"
- },
- {
- "type": "null"
- }
- ]
- },
- "completed_total": {
- "maximum": 9007199254740991,
- "minimum": 0,
- "type": "integer"
- },
- "initial_planned": {
- "maximum": 9007199254740991,
- "minimum": 0,
- "type": "integer"
- },
- "planned_this_call": {
- "maximum": 9007199254740991,
- "minimum": 0,
- "type": "integer"
- },
- "remaining": {
- "maximum": 9007199254740991,
- "minimum": 0,
- "type": "integer"
- }
- },
- "required": [
- "initial_planned",
- "planned_this_call",
- "attempted_this_call",
- "completed_total",
- "remaining",
- "checkpoint_version"
- ],
- "type": "object"
- },
- "status": {
- "enum": [
- "complete",
- "already_current",
- "partial",
- "blocked",
- "busy",
- "stale"
- ],
- "type": "string"
- },
- "target": {
- "additionalProperties": false,
- "properties": {
- "bot_id": {
- "description": "Discord user ID",
- "pattern": "^\\d{17,20}$",
- "type": "string"
- },
- "guild_id": {
- "description": "Discord guild (server) ID",
- "pattern": "^\\d{17,20}$",
- "type": "string"
- }
- },
- "required": [
- "guild_id",
- "bot_id"
- ],
- "type": "object"
- },
- "warnings": {
- "items": {
- "type": "string"
- },
- "type": "array"
- }
- },
- "required": [
- "status",
- "plan_id",
- "blueprint_id",
- "target",
- "progress",
- "attempts",
- "blockers",
- "error",
- "evidence",
- "next_action",
- "warnings"
- ],
- "type": "object"
- },
- {
- "properties": {
- "category": {
- "enum": [
- "client",
- "server"
- ],
- "type": "string"
- },
- "code": {
- "type": "string"
- },
- "recovery_hint": {
- "type": "string"
- },
- "retriable": {
- "type": "boolean"
- }
- },
- "required": [
- "code",
- "retriable",
- "category",
- "recovery_hint"
- ],
- "type": "object"
- }
-]New value: +[
+ {
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "additionalProperties": {},
+ "properties": {
+ "attempts": {
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "error_code": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "operation_id": {
+ "type": "string"
+ },
+ "resource_id": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "status": {
+ "enum": [
+ "completed",
+ "failed"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "operation_id",
+ "status",
+ "resource_id",
+ "error_code"
+ ],
+ "type": "object"
+ },
+ "maxItems": 50,
+ "type": "array"
+ },
+ "blockers": {
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "code": {
+ "pattern": "^[A-Z][A-Z0-9_]{2,63}$",
+ "type": "string"
+ },
+ "message": {
+ "maxLength": 500,
+ "minLength": 1,
+ "type": "string"
+ },
+ "recovery_hint": {
+ "maxLength": 500,
+ "minLength": 1,
+ "type": "string"
+ },
+ "resource": {
+ "anyOf": [
+ {
+ "maxLength": 160,
+ "minLength": 1,
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [
+ "code",
+ "message",
+ "resource",
+ "recovery_hint"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "blueprint_id": {
+ "anyOf": [
+ {
+ "pattern": "^sha256:[a-f0-9]{64}$",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "error": {
+ "anyOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "code": {
+ "pattern": "^[A-Z][A-Z0-9_]{2,63}$",
+ "type": "string"
+ },
+ "operation_id": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "retriable": {
+ "type": "boolean"
+ },
+ "retry_after_ms": {
+ "maximum": 9007199254740991,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "status": {
+ "anyOf": [
+ {
+ "maximum": 599,
+ "minimum": 100,
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [
+ "operation_id",
+ "code",
+ "retriable",
+ "status"
+ ],
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "evidence": {
+ "additionalProperties": false,
+ "properties": {
+ "activity": {
+ "anyOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "evidence_id": {
+ "pattern": "^sha256:[a-f0-9]{64}$",
+ "type": "string"
+ },
+ "observed": {
+ "additionalProperties": false,
+ "properties": {
+ "bindings": {
+ "additionalProperties": false,
+ "properties": {
+ "automod_rules": {
+ "additionalProperties": {
+ "pattern": "^\\d{17,20}$",
+ "type": "string"
+ },
+ "propertyNames": {
+ "pattern": "^[a-z][a-z0-9_]{0,63}$",
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "categories": {
+ "additionalProperties": {
+ "pattern": "^\\d{17,20}$",
+ "type": "string"
+ },
+ "propertyNames": {
+ "pattern": "^[a-z][a-z0-9_]{0,63}$",
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "channels": {
+ "additionalProperties": {
+ "pattern": "^\\d{17,20}$",
+ "type": "string"
+ },
+ "propertyNames": {
+ "pattern": "^[a-z][a-z0-9_]{0,63}$",
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "publications": {
+ "additionalProperties": {
+ "pattern": "^\\d{17,20}$",
+ "type": "string"
+ },
+ "propertyNames": {
+ "pattern": "^[a-z][a-z0-9_]{0,63}$",
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "roles": {
+ "additionalProperties": {
+ "pattern": "^\\d{17,20}$",
+ "type": "string"
+ },
+ "propertyNames": {
+ "pattern": "^[a-z][a-z0-9_]{0,63}$",
+ "type": "string"
+ },
+ "type": "object"
+ }
+ },
+ "required": [
+ "roles",
+ "categories",
+ "channels",
+ "automod_rules",
+ "publications"
+ ],
+ "type": "object"
+ },
+ "blueprint_readback_match": {
+ "const": true,
+ "type": "boolean"
+ },
+ "checkpoint_version": {
+ "maximum": 9007199254740991,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "completed_operation_ids": {
+ "items": {
+ "maxLength": 160,
+ "minLength": 1,
+ "type": "string"
+ },
+ "maxItems": 128,
+ "type": "array"
+ },
+ "final_snapshot_id": {
+ "pattern": "^sha256:[a-f0-9]{64}$",
+ "type": "string"
+ },
+ "initial_snapshot_id": {
+ "pattern": "^sha256:[a-f0-9]{64}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "initial_snapshot_id",
+ "final_snapshot_id",
+ "checkpoint_version",
+ "completed_operation_ids",
+ "bindings",
+ "blueprint_readback_match"
+ ],
+ "type": "object"
+ },
+ "plan_invariants": {
+ "additionalProperties": false,
+ "properties": {
+ "expected_counts": {
+ "additionalProperties": false,
+ "properties": {
+ "automod": {
+ "maximum": 9007199254740991,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "categories": {
+ "maximum": 9007199254740991,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "channels": {
+ "maximum": 9007199254740991,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "components_v2": {
+ "maximum": 9007199254740991,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "guild": {
+ "const": 1,
+ "type": "number"
+ },
+ "identity": {
+ "const": 2,
+ "type": "number"
+ },
+ "onboarding": {
+ "exclusiveMinimum": 0,
+ "maximum": 9007199254740991,
+ "type": "integer"
+ },
+ "ordering": {
+ "const": 2,
+ "type": "number"
+ },
+ "roles": {
+ "maximum": 9007199254740991,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "welcome_screen": {
+ "const": 1,
+ "type": "number"
+ }
+ },
+ "required": [
+ "identity",
+ "roles",
+ "categories",
+ "channels",
+ "ordering",
+ "guild",
+ "welcome_screen",
+ "onboarding",
+ "automod",
+ "components_v2"
+ ],
+ "type": "object"
+ },
+ "safety_policy": {
+ "additionalProperties": false,
+ "properties": {
+ "bot_permission_grants": {
+ "const": 0,
+ "type": "number"
+ },
+ "dangerous_generated_permissions": {
+ "const": 0,
+ "type": "number"
+ },
+ "discord_managed_role_mutations": {
+ "const": 0,
+ "type": "number"
+ },
+ "source_permissions_applied": {
+ "const": false,
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "source_permissions_applied",
+ "dangerous_generated_permissions",
+ "bot_permission_grants",
+ "discord_managed_role_mutations"
+ ],
+ "type": "object"
+ }
+ },
+ "required": [
+ "expected_counts",
+ "safety_policy"
+ ],
+ "type": "object"
+ },
+ "recorded_at": {
+ "format": "date-time",
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
+ "type": "string"
+ },
+ "schema_version": {
+ "const": "guild_blueprint_activity_evidence.v1",
+ "type": "string"
+ }
+ },
+ "required": [
+ "schema_version",
+ "evidence_id",
+ "recorded_at",
+ "plan_invariants",
+ "observed"
+ ],
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "bindings": {
+ "additionalProperties": false,
+ "properties": {
+ "automod_rules": {
+ "additionalProperties": {
+ "pattern": "^\\d{17,20}$",
+ "type": "string"
+ },
+ "propertyNames": {
+ "pattern": "^[a-z][a-z0-9_]{0,63}$",
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "categories": {
+ "additionalProperties": {
+ "pattern": "^\\d{17,20}$",
+ "type": "string"
+ },
+ "propertyNames": {
+ "pattern": "^[a-z][a-z0-9_]{0,63}$",
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "channels": {
+ "additionalProperties": {
+ "pattern": "^\\d{17,20}$",
+ "type": "string"
+ },
+ "propertyNames": {
+ "pattern": "^[a-z][a-z0-9_]{0,63}$",
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "publications": {
+ "additionalProperties": {
+ "pattern": "^\\d{17,20}$",
+ "type": "string"
+ },
+ "propertyNames": {
+ "pattern": "^[a-z][a-z0-9_]{0,63}$",
+ "type": "string"
+ },
+ "type": "object"
+ },
+ "roles": {
+ "additionalProperties": {
+ "pattern": "^\\d{17,20}$",
+ "type": "string"
+ },
+ "propertyNames": {
+ "pattern": "^[a-z][a-z0-9_]{0,63}$",
+ "type": "string"
+ },
+ "type": "object"
+ }
+ },
+ "required": [
+ "roles",
+ "categories",
+ "channels",
+ "automod_rules",
+ "publications"
+ ],
+ "type": "object"
+ },
+ "checkpoint_persisted": {
+ "type": "boolean"
+ },
+ "completed_operation_ids": {
+ "items": {
+ "type": "string"
+ },
+ "maxItems": 256,
+ "type": "array"
+ },
+ "guild_verified": {
+ "type": "boolean"
+ },
+ "identity_verified": {
+ "type": "boolean"
+ },
+ "readback": {
+ "enum": [
+ "match",
+ "drift",
+ "not_run"
+ ],
+ "type": "string"
+ },
+ "snapshot_id_after": {
+ "anyOf": [
+ {
+ "pattern": "^sha256:[a-f0-9]{64}$",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "snapshot_id_before": {
+ "anyOf": [
+ {
+ "pattern": "^sha256:[a-f0-9]{64}$",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "required": [
+ "identity_verified",
+ "guild_verified",
+ "readback",
+ "snapshot_id_before",
+ "snapshot_id_after",
+ "checkpoint_persisted",
+ "bindings",
+ "completed_operation_ids",
+ "activity"
+ ],
+ "type": "object"
+ },
+ "next_action": {
+ "enum": [
+ "done",
+ "resume",
+ "replan",
+ "fix_configuration"
+ ],
+ "type": "string"
+ },
+ "plan_id": {
+ "anyOf": [
+ {
+ "pattern": "^sha256:[a-f0-9]{64}$",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "progress": {
+ "additionalProperties": false,
+ "properties": {
+ "attempted_this_call": {
+ "maximum": 9007199254740991,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "checkpoint_version": {
+ "anyOf": [
+ {
+ "maximum": 9007199254740991,
+ "minimum": 0,
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "completed_total": {
+ "maximum": 9007199254740991,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "initial_planned": {
+ "maximum": 9007199254740991,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "planned_this_call": {
+ "maximum": 9007199254740991,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "remaining": {
+ "maximum": 9007199254740991,
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "initial_planned",
+ "planned_this_call",
+ "attempted_this_call",
+ "completed_total",
+ "remaining",
+ "checkpoint_version"
+ ],
+ "type": "object"
+ },
+ "status": {
+ "enum": [
+ "complete",
+ "already_current",
+ "partial",
+ "blocked",
+ "busy",
+ "stale"
+ ],
+ "type": "string"
+ },
+ "target": {
+ "additionalProperties": false,
+ "properties": {
+ "bot_id": {
+ "description": "Discord user ID",
+ "pattern": "^\\d{17,20}$",
+ "type": "string"
+ },
+ "guild_id": {
+ "description": "Discord guild (server) ID",
+ "pattern": "^\\d{17,20}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "guild_id",
+ "bot_id"
+ ],
+ "type": "object"
+ },
+ "warnings": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "status",
+ "plan_id",
+ "blueprint_id",
+ "target",
+ "progress",
+ "attempts",
+ "blockers",
+ "error",
+ "evidence",
+ "next_action",
+ "warnings"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "category": {
+ "enum": [
+ "client",
+ "server"
+ ],
+ "type": "string"
+ },
+ "code": {
+ "type": "string"
+ },
+ "recovery_hint": {
+ "type": "string"
+ },
+ "retriable": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "code",
+ "retriable",
+ "category",
+ "recovery_hint"
+ ],
+ "type": "object"
+ }
+]