{
  "$defs": {
    "ContinuationOut": {
      "additionalProperties": false,
      "description": "This lineage's pending sync-continuation manifest (contracts.md \u00a78.44/\u00a78.49) \u2014 a\nmachine-local CLI-side observation. ``parseable: false`` rows carry nulls for every\nfield the unreadable file cannot account for.",
      "properties": {
        "operation_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Operation Id"
        },
        "conflict_node_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Conflict Node Id"
        },
        "adopted_node": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Adopted Node"
        },
        "created": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Created"
        },
        "worktree_path": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Worktree Path"
        },
        "manifest_path": {
          "title": "Manifest Path",
          "type": "string"
        },
        "parseable": {
          "title": "Parseable",
          "type": "boolean"
        }
      },
      "required": [
        "operation_id",
        "conflict_node_id",
        "adopted_node",
        "created",
        "worktree_path",
        "manifest_path",
        "parseable"
      ],
      "title": "ContinuationOut",
      "type": "object"
    },
    "FindingOut": {
      "additionalProperties": false,
      "properties": {
        "code": {
          "title": "Code",
          "type": "string"
        },
        "message": {
          "title": "Message",
          "type": "string"
        },
        "node_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Node Id"
        },
        "plan_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Plan Id"
        }
      },
      "required": [
        "code",
        "message",
        "node_id",
        "plan_id"
      ],
      "title": "FindingOut",
      "type": "object"
    },
    "LayerOut": {
      "additionalProperties": false,
      "properties": {
        "node_id": {
          "title": "Node Id",
          "type": "string"
        },
        "plan_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Plan Id"
        },
        "branch": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Branch"
        },
        "pr_number": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "title": "Pr Number"
        },
        "intent": {
          "title": "Intent",
          "type": "string"
        },
        "publication": {
          "title": "Publication",
          "type": "string"
        },
        "git": {
          "title": "Git",
          "type": "string"
        },
        "pr": {
          "title": "Pr",
          "type": "string"
        },
        "membership": {
          "title": "Membership",
          "type": "string"
        },
        "writer": {
          "title": "Writer",
          "type": "string"
        },
        "finalization": {
          "title": "Finalization",
          "type": "string"
        },
        "parent_checkpoint_sha": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Parent Checkpoint Sha"
        },
        "published_head_sha": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Published Head Sha"
        },
        "observed_remote_head_sha": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Observed Remote Head Sha"
        },
        "observed_pr_base": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Observed Pr Base"
        },
        "expected_pr_base": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Expected Pr Base"
        }
      },
      "required": [
        "node_id",
        "plan_id",
        "branch",
        "pr_number",
        "intent",
        "publication",
        "git",
        "pr",
        "membership",
        "writer",
        "finalization",
        "parent_checkpoint_sha",
        "published_head_sha",
        "observed_remote_head_sha",
        "observed_pr_base",
        "expected_pr_base"
      ],
      "title": "LayerOut",
      "type": "object"
    },
    "NextBuildReadyOut": {
      "additionalProperties": false,
      "description": "The derived build-readiness block (contracts.md \u00a78.46): the readiness-derived next\nlayer, the fail-closed verdict, and the exact veto when blocked.",
      "properties": {
        "node_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Node Id"
        },
        "ready": {
          "title": "Ready",
          "type": "boolean"
        },
        "reason": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Reason"
        }
      },
      "required": [
        "node_id",
        "ready",
        "reason"
      ],
      "title": "NextBuildReadyOut",
      "type": "object"
    },
    "ObjectiveOut": {
      "additionalProperties": false,
      "description": "The resolved (ACTIVE) objective identity; ``redirected_from`` names the originally\nrequested objective when a ``superseded_by`` chain redirected forward.",
      "properties": {
        "id": {
          "title": "Id",
          "type": "string"
        },
        "url": {
          "title": "Url",
          "type": "string"
        },
        "redirected_from": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Redirected From"
        }
      },
      "required": [
        "id",
        "url",
        "redirected_from"
      ],
      "title": "ObjectiveOut",
      "type": "object"
    },
    "OperationOut": {
      "additionalProperties": false,
      "properties": {
        "operation_id": {
          "title": "Operation Id",
          "type": "string"
        },
        "kind": {
          "title": "Kind",
          "type": "string"
        },
        "prepared_created": {
          "title": "Prepared Created",
          "type": "string"
        }
      },
      "required": [
        "operation_id",
        "kind",
        "prepared_created"
      ],
      "title": "OperationOut",
      "type": "object"
    },
    "OrphanedResidueOut": {
      "additionalProperties": false,
      "description": "The machine-local orphaned-sync-residue observation (contracts.md \u00a78.44/\u00a78.51).\n``observed: false`` + ``reason`` whenever the Config load or the classifier's git/fs\nreads fail \u2014 an unobserved state is never serialized as clean empty lists;\n``observed: true`` with empty lists means genuinely clean.",
      "properties": {
        "observed": {
          "title": "Observed",
          "type": "boolean"
        },
        "reason": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Reason"
        },
        "worktrees": {
          "items": {
            "type": "string"
          },
          "title": "Worktrees",
          "type": "array"
        },
        "refs": {
          "items": {
            "type": "string"
          },
          "title": "Refs",
          "type": "array"
        }
      },
      "required": [
        "observed",
        "reason",
        "worktrees",
        "refs"
      ],
      "title": "OrphanedResidueOut",
      "type": "object"
    },
    "TrainOut": {
      "additionalProperties": false,
      "properties": {
        "delivery_lineage": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Delivery Lineage"
        },
        "base": {
          "title": "Base",
          "type": "string"
        },
        "published_prefix_len": {
          "title": "Published Prefix Len",
          "type": "integer"
        },
        "layers": {
          "items": {
            "$ref": "#/$defs/LayerOut"
          },
          "title": "Layers",
          "type": "array"
        },
        "unresolved_operation": {
          "anyOf": [
            {
              "$ref": "#/$defs/OperationOut"
            },
            {
              "type": "null"
            }
          ]
        },
        "blockers": {
          "items": {
            "$ref": "#/$defs/FindingOut"
          },
          "title": "Blockers",
          "type": "array"
        },
        "information": {
          "items": {
            "$ref": "#/$defs/FindingOut"
          },
          "title": "Information",
          "type": "array"
        },
        "next_build_ready": {
          "$ref": "#/$defs/NextBuildReadyOut"
        },
        "observed_base_head_sha": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Observed Base Head Sha"
        },
        "landed_prefix_len": {
          "default": 0,
          "title": "Landed Prefix Len",
          "type": "integer"
        }
      },
      "required": [
        "delivery_lineage",
        "base",
        "published_prefix_len",
        "layers",
        "unresolved_operation",
        "blockers",
        "information",
        "next_build_ready",
        "observed_base_head_sha"
      ],
      "title": "TrainOut",
      "type": "object"
    }
  },
  "additionalProperties": false,
  "description": "The ``perk objective stack status --json`` envelope. ``delivery`` is\n``incremental | stacked``; exactly one of ``train`` / ``no_train`` is set (``no_train``\ncarries the successful no-train explanation for an incremental objective).\n``operations`` / ``continuation`` / ``orphaned_residue`` are the \u00a78.44 detailed-status\nadditions (always-on, additive).",
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error_type": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Error Type"
    },
    "objective": {
      "$ref": "#/$defs/ObjectiveOut"
    },
    "delivery": {
      "title": "Delivery",
      "type": "string"
    },
    "train": {
      "anyOf": [
        {
          "$ref": "#/$defs/TrainOut"
        },
        {
          "type": "null"
        }
      ]
    },
    "no_train": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "No Train"
    },
    "operations": {
      "items": {
        "$ref": "#/$defs/OperationOut"
      },
      "title": "Operations",
      "type": "array"
    },
    "continuation": {
      "anyOf": [
        {
          "$ref": "#/$defs/ContinuationOut"
        },
        {
          "type": "null"
        }
      ]
    },
    "orphaned_residue": {
      "$ref": "#/$defs/OrphanedResidueOut"
    }
  },
  "required": [
    "success",
    "error_type",
    "objective",
    "delivery",
    "train",
    "no_train",
    "operations",
    "continuation",
    "orphaned_residue"
  ],
  "title": "ObjectiveStackStatusOut",
  "type": "object"
}
