Skip to content

Continuation object reference

Version: 0.4. Specification · Core · Continuation · Reports

Every example below is JSON Schema checked. Object fragments use IDs resolved by an enclosing session or report; they are not standalone session documents. Full scenarios are in examples. Required means unconditionally required; conditional rules follow each table. Normative session semantics and continuation rules also apply.

Browse all objects on this page

Continuation Profile Object

Optional declarations needed to assess continuation from a session checkpoint. It contains no runtime authorization.

Fixed fields

Field Type Required Description
profile_version "0.2" Yes Version of the portable-continuation profile.
source_runtime Runtime Object Yes Agent, adapter and platform recorded at the source.
workspaces array of Workspace Object Yes Workspace state declarations, including referenced delta bases. Minimum items: 0.
dependencies array of Dependency Object Yes Declared dependencies; interpretation is determined by the enclosing object. Minimum items: 0.
configuration_bindings array of Configuration Binding Object Yes Portable interpretation bindings for configuration snapshots. Minimum items: 0.
service_bindings array of Service Binding Object Yes Service identity and access requirements. Minimum items: 0.
operations array of Operation Object Yes Operations whose state or recovery matters to continuation. Minimum items: 0.
native_imports array of Native Import Object Yes Native-state import contracts, when required. Minimum items: 0.
plans array of Continuation Plan Object Yes Selections of a checkpoint and its continuation prerequisites. Minimum items: 1.

Rules

See portable-continuation rules.

Additional properties are permitted and MUST be preserved when relaying supported JSON values. They do not acquire execution semantics without a declared feature or dialect.

Example

{
  "profile_version": "0.2",
  "source_runtime": {
    "agent": {
      "id": "example-agent-a",
      "version": "1",
      "state_format": "example-native/1"
    },
    "adapter": {
      "id": "example-adapter",
      "version": "1"
    },
    "os": "macos",
    "architecture": "arm64"
  },
  "workspaces": [
    {
      "id": "workspace-head",
      "environment_id": "project-env",
      "root_id": "project",
      "at_event_id": "e4",
      "source_root": "/Users/example/project",
      "mode": "snapshot",
      "selection": {
        "include": [
          "inventory.csv",
          "totals.csv",
          "summary.md"
        ],
        "exclude": [
          ".cache/"
        ],
        "complete_for_selection": true
      },
      "entries": [
        {
          "path": "inventory.csv",
          "kind": "file",
          "mode": 420,
          "resource_id": "source-csv"
        },
        {
          "path": "totals.csv",
          "kind": "file",
          "mode": 420,
          "resource_id": "output-csv"
        },
        {
          "path": "summary.md",
          "kind": "file",
          "mode": 420,
          "resource_id": "report"
        }
      ],
      "deletions": [],
      "base_snapshot_id": null
    }
  ],
  "dependencies": [
    {
      "id": "agent-runtime",
      "kind": "agent_runtime",
      "identity": "example-agent-a",
      "accepted_versions": [
        "1"
      ],
      "platform": {
        "os": [
          "macos",
          "linux"
        ],
        "architectures": [
          "arm64",
          "x86_64"
        ]
      },
      "required_for": [
        "continue"
      ],
      "depends_on": [],
      "resource_ids": [],
      "binding": {
        "kind": "builtin",
        "reference": "example-agent-a"
      }
    },
    {
      "id": "summary-tool",
      "kind": "tool",
      "identity": "example.inventory.summarize",
      "accepted_versions": [
        "1"
      ],
      "platform": {
        "os": [
          "macos",
          "linux"
        ],
        "architectures": [
          "arm64",
          "x86_64"
        ]
      },
      "required_for": [
        "continue"
      ],
      "depends_on": [],
      "resource_ids": [],
      "binding": {
        "kind": "builtin",
        "reference": "example.inventory.summarize"
      },
      "tool_id": "summarize",
      "behavior": {
        "id": "example.inventory.summarize",
        "revision": "1",
        "effects": "local",
        "replay": "never"
      }
    },
    {
      "id": "summary-skill",
      "kind": "skill",
      "identity": "example.inventory-summary",
      "accepted_versions": [
        "1"
      ],
      "platform": {
        "os": [
          "macos",
          "linux"
        ],
        "architectures": [
          "arm64",
          "x86_64"
        ]
      },
      "required_for": [
        "continue"
      ],
      "depends_on": [
        "summary-tool"
      ],
      "resource_ids": [
        "skill-template"
      ],
      "binding": {
        "kind": "builtin",
        "reference": "example.inventory-summary"
      }
    }
  ],
  "configuration_bindings": [
    {
      "configuration_id": "effective",
      "effective_order": [
        "workspace-rule"
      ],
      "instruction_rules": [
        {
          "instruction_id": "workspace-rule",
          "authority": "system",
          "merge_behavior": "append",
          "group_id": "workspace-rules",
          "priority": 0,
          "scope": {
            "kind": "root",
            "root_id": "project"
          },
          "activation": {
            "kind": "always"
          }
        }
      ],
      "policy_ids": [
        "workspace-only"
      ]
    }
  ],
  "service_bindings": [],
  "operations": [],
  "native_imports": [
    {
      "id": "native",
      "adapter": {
        "id": "example-adapter",
        "version": "1"
      },
      "source_state_format": "example-native/1",
      "accepted_target_agent_versions": [
        "1"
      ],
      "resource_ids": [
        "native-state"
      ],
      "mode": "continue",
      "identity_policy": "preserve_if_safe",
      "ordering_contract": "example.ordinal-order/1",
      "index_contract": "example.native-index/1",
      "conflict_policy": "reject"
    }
  ],
  "plans": [
    {
      "id": "continue-main",
      "checkpoint_id": "head",
      "context_id": "continue-context",
      "configuration_id": "effective",
      "workspace_ids": [
        "workspace-head"
      ],
      "dependency_ids": [
        "agent-runtime",
        "summary-tool",
        "summary-skill"
      ],
      "service_binding_ids": [],
      "operation_ids": [],
      "native_import_id": "native",
      "boundary": {
        "method": "quiesced",
        "consistency": "consistent",
        "evidence_resource_ids": [],
        "explanation": "Invented quiescent source checkpoint; illustrative evidence only."
      },
      "context_accounting": [
        {
          "event_id": "e1",
          "disposition": "included",
          "input_ids": [
            "input-e1"
          ],
          "explanation": "Retained as a typed input in the reconstructed continuation context."
        },
        {
          "event_id": "e2",
          "disposition": "included",
          "input_ids": [
            "input-e2"
          ],
          "explanation": "Retained as a typed input in the reconstructed continuation context."
        },
        {
          "event_id": "e3",
          "disposition": "included",
          "input_ids": [
            "input-e3"
          ],
          "explanation": "Retained as a typed input in the reconstructed continuation context."
        },
        {
          "event_id": "e4",
          "disposition": "included",
          "input_ids": [
            "input-e4"
          ],
          "explanation": "Retained as a typed input in the reconstructed continuation context."
        }
      ],
      "cwd": {
        "root_id": "project",
        "relative_path": ""
      },
      "path_references": [
        {
          "entity_type": "environment",
          "entity_id": "project-env",
          "json_pointer": "/definition/value/cwd",
          "root_id": "project",
          "relative_path": ""
        }
      ],
      "model_requirements": {
        "source_model": {
          "provider": "example",
          "id": "model-a",
          "revision": "1"
        },
        "capabilities": [
          "text",
          "tool_calls"
        ],
        "media_types": [
          "text/csv",
          "text/markdown"
        ],
        "overflow_policy": "block"
      },
      "next_action": {
        "kind": "resume_native",
        "native_import_id": "native"
      }
    }
  ]
}

Agent Object

Names an agent implementation, version and native state format.

Fixed fields

Field Type Required Description
id string Yes Opaque, case-sensitive identity within the object's declared scope. Minimum length: 1.
version string / null Yes Implementation or format version.
state_format string / null Yes Native state-format identifier.

Rules

See portable-continuation rules.

Additional properties are permitted and MUST be preserved when relaying supported JSON values. They do not acquire execution semantics without a declared feature or dialect.

Example

{
  "id": "example-agent-b",
  "version": "2",
  "state_format": "example-b/2"
}

Runtime Object

Identifies the agent, adapter and operating platform involved in a continuation assessment.

Fixed fields

Field Type Required Description
agent Agent Object Yes Agent implementation, version and state format.
adapter Runtime Adapter Object Yes Adapter implementation and version interpreting the source or destination.
os string Yes Operating-system identifier or accepted identifiers. Minimum length: 1.
architecture string Yes Runtime CPU architecture identifier. Minimum length: 1.

Rules

See portable-continuation rules.

Additional properties are permitted and MUST be preserved when relaying supported JSON values. They do not acquire execution semantics without a declared feature or dialect.

Example

{
  "agent": {
    "id": "example-agent-b",
    "version": "2",
    "state_format": "example-b/2"
  },
  "adapter": {
    "id": "example-a-to-b",
    "version": "1"
  },
  "os": "linux",
  "architecture": "x86_64"
}

Runtime Adapter Object

Names the adapter implementation and version used to interpret native state.

Fixed fields

Field Type Required Description
id string Yes Opaque, case-sensitive identity within the object's declared scope. Minimum length: 1.
version string / null Yes Implementation or format version.

Rules

See portable-continuation rules.

Additional properties are permitted and MUST be preserved when relaying supported JSON values. They do not acquire execution semantics without a declared feature or dialect.

Example

{
  "id": "example-a-to-b",
  "version": "1"
}

Model Object

Identifies a model provider, model ID and optional known revision without assuming equivalence to another model.

Fixed fields

Field Type Required Description
provider string Yes Provider identity for the named object or account. Minimum length: 1.
id string Yes Opaque, case-sensitive identity within the object's declared scope. Minimum length: 1.
revision string / null Yes Versioned definition or task revision within its identity.

Rules

See portable-continuation rules.

Additional properties are permitted and MUST be preserved when relaying supported JSON values. They do not acquire execution semantics without a declared feature or dialect.

Example

{
  "provider": "example",
  "id": "model-a",
  "revision": "1"
}

Workspace Entry Object

One selected filesystem entry. File bytes are resources; link targets are declarations requiring a destination link policy.

Fixed fields

Field Type Required Description
path string Yes Portable relative path within the declared resource or workspace root. Minimum length: 1.
kind enum Yes Discriminator selecting this object's interpretation. One of "file", "directory", "symlink".
mode integer No POSIX permission bits expressed as a decimal integer, from 0 through 511 (octal 0777). Minimum: 0. Maximum: 511.
resource_id string No ID of the referenced Resource Object. Minimum length: 1.
target string No Declared target value, model or symbolic-link target according to context. Minimum length: 1.

Rules

See workspace rules. A file requires mode and resource_id; a directory requires mode; a symlink requires target. The local reference restorer explicitly refuses symlinks.

  • When kind is "file", require mode, resource_id.
  • When kind is "directory", require mode.
  • When kind is "symlink", require target.

Additional properties are permitted and MUST be preserved when relaying supported JSON values. They do not acquire execution semantics without a declared feature or dialect.

Example

{
  "path": "summary.md",
  "kind": "file",
  "mode": 420,
  "resource_id": "report"
}

Git State Object

Describes Git identity, index stages, object prerequisites, submodules and LFS dependencies separately from working-tree bytes.

Fixed fields

Field Type Required Description
object_format string Yes Git object hash algorithm. Minimum length: 1.
head string / null Yes Captured Git HEAD object ID, or null if unavailable or unborn.
branch string / null Yes Captured Git branch name, or null for no named branch.
bundle_resource_ids array of string Yes Resources carrying Git bundles required by the declaration. Minimum items: 0. Items MUST be unique.
prerequisites array of Git Prerequisites Object Yes Git objects that must be resolved before restoration. Minimum items: 0.
index_entries array of Git Index Entries Object Yes Per-path Git index stages, separate from the working tree. Minimum items: 0.
submodules array of Git Submodules Object Yes Submodule paths, pinned objects and dependency bindings. Minimum items: 0.
lfs_dependency_ids array of string Yes Dependencies needed to resolve Git LFS content. Minimum items: 0. Items MUST be unique.

Rules

See portable-continuation rules.

Additional properties are permitted and MUST be preserved when relaying supported JSON values. They do not acquire execution semantics without a declared feature or dialect.

Example

{
  "object_format": "example",
  "head": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
  "branch": "main",
  "bundle_resource_ids": [],
  "prerequisites": [],
  "index_entries": [],
  "submodules": [],
  "lfs_dependency_ids": []
}

Git Prerequisites Object

Declares a Git object required to interpret or restore the captured state.

Fixed fields

Field Type Required Description
object_id string Yes Git object ID in the declared object format, when known. Minimum length: 1.
availability enum Yes Whether and how the referenced content is available. One of "embedded", "external", "unavailable", "unknown".
resource_id string No ID of the referenced Resource Object. Minimum length: 1.

Rules

See portable-continuation rules.

Additional properties are permitted and MUST be preserved when relaying supported JSON values. They do not acquire execution semantics without a declared feature or dialect.

Example

{
  "object_id": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
  "availability": "external"
}

Git Index Entries Object

Records one index path and stage, preserving conflicts rather than collapsing them into working-tree content.

Fixed fields

Field Type Required Description
path string Yes Portable relative path within the declared resource or workspace root. Minimum length: 1.
stage integer Yes Transformation stage; in a Git index entry, the conflict stage number. Minimum: 0. Maximum: 3.
mode string Yes Representation or interpretation mode selected by the enclosing object. Minimum length: 1.
resource_id string / null Yes ID of the referenced Resource Object.
object_id string / null Yes Git object ID in the declared object format, when known.

Rules

See portable-continuation rules.

Additional properties are permitted and MUST be preserved when relaying supported JSON values. They do not acquire execution semantics without a declared feature or dialect.

Example

{
  "path": "notes.md",
  "stage": 0,
  "mode": "100644",
  "resource_id": "notes",
  "object_id": null
}

Git Submodules Object

Pins a submodule path and commit and names the dependency needed to resolve it.

Fixed fields

Field Type Required Description
path string Yes Portable relative path within the declared resource or workspace root. Minimum length: 1.
object_id string Yes Git object ID in the declared object format, when known. Minimum length: 1.
dependency_id string Yes ID of the referenced dependency declaration. Minimum length: 1.

Rules

See portable-continuation rules.

Additional properties are permitted and MUST be preserved when relaying supported JSON values. They do not acquire execution semantics without a declared feature or dialect.

Example

{
  "path": "vendor/library",
  "object_id": "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
  "dependency_id": "dependency-library"
}

Workspace Object

A selected filesystem snapshot, delta or reference declaration bound to a session boundary and logical root.

Fixed fields

Field Type Required Description
id string Yes Opaque, case-sensitive identity within the object's declared scope. Minimum length: 1.
environment_id string Yes Referenced Environment Object ID. Minimum length: 1.
root_id string Yes Logical workspace root identity, independent of source and destination absolute paths. Minimum length: 1.
at_event_id string / null Yes Event at the recorded boundary, or null for an empty boundary.
source_root string Yes Recorded source path, retained as metadata. Minimum length: 1.
mode enum Yes Representation or interpretation mode selected by the enclosing object. One of "snapshot", "delta", "refs".
selection Workspace Selection Object Yes Included and excluded workspace paths and completeness within that selection.
entries array of Workspace Entry Object Yes Explicit filesystem entries captured by this workspace declaration. Minimum items: 0.
deletions array of string Yes Paths explicitly removed by a delta; absence alone is not deletion. Minimum items: 0.
base_snapshot_id string / null Yes ID of the included base state, or null when no base is required.
git Git State Object No Optional Git administrative and object prerequisites, separate from selected files.

Rules

See portable-continuation rules.

  • When mode is "refs", require git.

Additional properties are permitted and MUST be preserved when relaying supported JSON values. They do not acquire execution semantics without a declared feature or dialect.

Example

{
  "id": "workspace-head",
  "environment_id": "project-env",
  "root_id": "project",
  "at_event_id": "e4",
  "source_root": "/Users/example/project",
  "mode": "snapshot",
  "selection": {
    "include": [
      "inventory.csv",
      "totals.csv",
      "summary.md"
    ],
    "exclude": [
      ".cache/"
    ],
    "complete_for_selection": true
  },
  "entries": [
    {
      "path": "inventory.csv",
      "kind": "file",
      "mode": 420,
      "resource_id": "source-csv"
    },
    {
      "path": "totals.csv",
      "kind": "file",
      "mode": 420,
      "resource_id": "output-csv"
    },
    {
      "path": "summary.md",
      "kind": "file",
      "mode": 420,
      "resource_id": "report"
    }
  ],
  "deletions": [],
  "base_snapshot_id": null
}

Workspace Selection Object

Defines the selected portion of a workspace and whether it is complete within that selection.

Fixed fields

Field Type Required Description
include array of string Yes Declared include patterns for the selected workspace tree. Minimum items: 0.
exclude array of string Yes Declared excluded paths or patterns, protected from implicit deletion. Minimum items: 0.
complete_for_selection boolean Yes Whether every entry within the declared selection is accounted for.

Rules

See portable-continuation rules.

Additional properties are permitted and MUST be preserved when relaying supported JSON values. They do not acquire execution semantics without a declared feature or dialect.

Example

{
  "include": [
    "inventory.csv",
    "totals.csv",
    "summary.md"
  ],
  "exclude": [
    ".cache/"
  ],
  "complete_for_selection": true
}

Tool Behavior Object

Describes a versioned tool behavior contract, including effects and replay semantics.

Fixed fields

Field Type Required Description
id string Yes Opaque, case-sensitive identity within the object's declared scope. Minimum length: 1.
revision string Yes Versioned definition or task revision within its identity. Minimum length: 1.
effects enum Yes Known side-effect classes of the tool or operation. One of "none", "local", "remote", "unknown".
replay enum Yes Declared replay characteristics; unknown never implies safe repetition. One of "never", "idempotent", "reconcile", "unknown".

Rules

See portable-continuation rules.

Additional properties are permitted and MUST be preserved when relaying supported JSON values. They do not acquire execution semantics without a declared feature or dialect.

Example

{
  "id": "example.inventory.summarize",
  "revision": "1",
  "effects": "local",
  "replay": "never"
}

Dependency Object

A runtime, tool, capability or other dependency with explicit version, platform and transitive requirements.

Fixed fields

Field Type Required Description
id string Yes Opaque, case-sensitive identity within the object's declared scope. Minimum length: 1.
kind enum Yes Discriminator selecting this object's interpretation. One of "agent_runtime", "model", "executable", "package", "skill", "plugin", "hook", "tool", "policy", "service", "resource".
identity string Yes Namespaced dependency identity to resolve. Minimum length: 1.
accepted_versions array of string Yes Explicit accepted dependency versions; not a guessed compatibility range. Minimum items: 0. Items MUST be unique.
platform Dependency Platform Object Yes Operating-system and architecture constraints.
required_for array of enum Yes Capabilities that depend on this prerequisite. Minimum items: 0. Items MUST be unique.
depends_on array of string Yes Dependency IDs required transitively by this declaration. Minimum items: 0. Items MUST be unique.
resource_ids array of string Yes IDs of supporting resources; their availability is declared separately. Minimum items: 0. Items MUST be unique.
binding Dependency Binding Object Yes Resolution mechanism and reference for the dependency.
tool_id string No ID of the referenced tool definition. Minimum length: 1.
behavior Tool Behavior Object No Versioned behavior and side-effect contract for a tool.

Rules

See portable-continuation rules.

  • When kind is "tool", require tool_id, behavior.

Additional properties are permitted and MUST be preserved when relaying supported JSON values. They do not acquire execution semantics without a declared feature or dialect.

Example

{
  "id": "agent-runtime",
  "kind": "agent_runtime",
  "identity": "example-agent-a",
  "accepted_versions": [
    "1"
  ],
  "platform": {
    "os": [
      "macos",
      "linux"
    ],
    "architectures": [
      "arm64",
      "x86_64"
    ]
  },
  "required_for": [
    "continue"
  ],
  "depends_on": [],
  "resource_ids": [],
  "binding": {
    "kind": "builtin",
    "reference": "example-agent-a"
  }
}

Dependency Platform Object

Declares the operating systems and architectures on which the dependency is accepted.

Fixed fields

Field Type Required Description
os array of string Yes Operating-system identifier or accepted identifiers. Minimum items: 0. Items MUST be unique.
architectures array of string Yes Accepted CPU architecture identifiers. Minimum items: 0. Items MUST be unique.

Rules

See portable-continuation rules.

Additional properties are permitted and MUST be preserved when relaying supported JSON values. They do not acquire execution semantics without a declared feature or dialect.

Example

{
  "os": [
    "macos",
    "linux"
  ],
  "architectures": [
    "arm64",
    "x86_64"
  ]
}

Dependency Binding Object

Describes how a dependency is expected to be resolved without installing or fetching it automatically.

Fixed fields

Field Type Required Description
kind enum Yes Discriminator selecting this object's interpretation. One of "builtin", "package", "command", "service", "opaque".
reference string Yes Opaque evidence or resolution locator; no implicit fetch is permitted. Minimum length: 1.

Rules

See portable-continuation rules.

Additional properties are permitted and MUST be preserved when relaying supported JSON values. They do not acquire execution semantics without a declared feature or dialect.

Example

{
  "kind": "builtin",
  "reference": "example-agent-a"
}

Scope Object

A portable instruction scope: global, a logical root or a path prefix within that root.

Fixed fields

Field Type Required Description
kind enum Yes Discriminator selecting this object's interpretation. One of "global", "root", "path_prefix".
root_id string No Logical workspace root identity, independent of source and destination absolute paths. Minimum length: 1.
relative_path string No Portable path relative to the named logical root.

Rules

See portable-continuation rules.

  • When kind is "root", require root_id.
  • When kind is "path_prefix", require root_id, relative_path.

Additional properties are permitted and MUST be preserved when relaying supported JSON values. They do not acquire execution semantics without a declared feature or dialect.

Example

{
  "kind": "root",
  "root_id": "project"
}

Activation Object

An unconditional activation or a predicate in an explicitly named dialect.

Fixed fields

Field Type Required Description
kind enum Yes Discriminator selecting this object's interpretation. One of "always", "predicate".
dialect string No Identifier of the language used to interpret the associated value. Minimum length: 1.
expression JSON value No Predicate value interpreted only by the explicitly named activation dialect.

Rules

See portable-continuation rules.

  • When kind is "predicate", require dialect, expression.

Additional properties are permitted and MUST be preserved when relaying supported JSON values. They do not acquire execution semantics without a declared feature or dialect.

Example

{
  "kind": "always"
}

Configuration Binding Object

Connects a configuration to explicit instruction order, interpretation rules and policy identities.

Fixed fields

Field Type Required Description
configuration_id string Yes ID of the configuration snapshot used at this boundary. Minimum length: 1.
effective_order array of string Yes Exact order of instruction IDs after precedence resolution. Minimum items: 0. Items MUST be unique.
instruction_rules array of Configuration Binding Instruction Rules Object Yes One interpretation rule for each instruction in the bound configuration. Minimum items: 0.
policy_ids array of string Yes Policy IDs scoped to the bound configuration. Minimum items: 0. Items MUST be unique.

Rules

See portable-continuation rules.

Additional properties are permitted and MUST be preserved when relaying supported JSON values. They do not acquire execution semantics without a declared feature or dialect.

Example

{
  "configuration_id": "effective",
  "effective_order": [],
  "instruction_rules": [],
  "policy_ids": []
}

Configuration Binding Instruction Rules Object

Declares one instruction's authority, merge behavior, priority, scope and activation.

Fixed fields

Field Type Required Description
instruction_id string Yes Instruction ID within the bound configuration. Minimum length: 1.
authority enum Yes Declared authority of the instruction; an unknown value blocks equivalence claims. One of "system", "developer", "user", "untrusted", "unknown".
merge_behavior enum Yes How this instruction combines with others in the same declared scope and group. One of "append", "replace_same_scope", "reject_conflict", "unknown".
group_id string Yes Identity of the instruction merge group. Minimum length: 1.
priority integer Yes Precedence value; effective order must agree with ascending priority.
scope Scope Object Yes Domain or activation scope to which this declaration applies.
activation Activation Object Yes Conditions under which an instruction or rule applies.

Rules

See portable-continuation rules.

Additional properties are permitted and MUST be preserved when relaying supported JSON values. They do not acquire execution semantics without a declared feature or dialect.

Example

{
  "instruction_id": "workspace-rule",
  "authority": "system",
  "merge_behavior": "append",
  "group_id": "workspace-rules",
  "priority": 0,
  "scope": {
    "kind": "root",
    "root_id": "project"
  },
  "activation": {
    "kind": "always"
  }
}

Service Binding Object

Describes the service identity and access prerequisites that a destination must resolve separately.

Fixed fields

Field Type Required Description
id string Yes Opaque, case-sensitive identity within the object's declared scope. Minimum length: 1.
service string Yes Namespaced service identity. Minimum length: 1.
endpoint Service Endpoint Object Yes Recorded or resolved endpoint declaration.
account Service Account Object Yes Expected or resolved service-account identity.
auth_method enum Yes Required authentication mechanism, without credentials. One of "none", "api_key", "oauth", "login", "other".
audience string Yes Intended service audience for access credentials. Minimum length: 1.
scopes array of string Yes Required or resolved service access scopes. Minimum items: 0. Items MUST be unique.
secret_handles array of string Yes Logical credential handles to resolve separately at the destination. Minimum items: 0. Items MUST be unique.
dependency_ids array of string Yes IDs of selected dependencies; selected closure must be complete. Minimum items: 0. Items MUST be unique.

Rules

See portable-continuation rules.

Additional properties are permitted and MUST be preserved when relaying supported JSON values. They do not acquire execution semantics without a declared feature or dialect.

Example

{
  "id": "publisher-service",
  "service": "example.publisher",
  "endpoint": {
    "kind": "https",
    "locator": "https://publisher.example.invalid"
  },
  "account": {
    "provider": "example",
    "subject": "account-A"
  },
  "auth_method": "oauth",
  "audience": "example.publisher",
  "scopes": [
    "reports:write"
  ],
  "secret_handles": [
    "publisher-login"
  ],
  "dependency_ids": [
    "publisher"
  ]
}

Service Endpoint Object

A recorded service locator or destination-resolved endpoint declaration.

Fixed fields

Field Type Required Description
kind enum Yes Discriminator selecting this object's interpretation. One of "https", "stdio", "local_socket", "other".
locator string Yes Location interpreted according to its declared syntax or availability. Minimum length: 1.

Rules

See portable-continuation rules.

Additional properties are permitted and MUST be preserved when relaying supported JSON values. They do not acquire execution semantics without a declared feature or dialect.

Example

{
  "kind": "https",
  "locator": "https://publisher.example.invalid"
}

Service Account Object

Identifies the expected account without including credentials.

Fixed fields

Field Type Required Description
provider string Yes Provider identity for the named object or account. Minimum length: 1.
subject string Yes Account identity or assessed subject, as defined by the containing object. Minimum length: 1.

Rules

See portable-continuation rules.

Additional properties are permitted and MUST be preserved when relaying supported JSON values. They do not acquire execution semantics without a declared feature or dialect.

Example

{
  "provider": "example",
  "subject": "account-A"
}

Operation Object

Records an external or local operation whose outcome or recovery affects continuation.

Fixed fields

Field Type Required Description
id string Yes Opaque, case-sensitive identity within the object's declared scope. Minimum length: 1.
call_id string No Session-scoped identity of one logical invocation. Minimum length: 1.
kind enum Yes Discriminator selecting this object's interpretation. One of "tool", "process", "service_job", "agent".
external_identity Operation External Identity Object / null Yes Identifier used to reconcile this operation in its external system.
state enum Yes Recorded pending or observed state; it is not a live process assertion. One of "pending", "running", "succeeded", "failed", "cancelled", "outcome_unknown".
effects enum Yes Known side-effect classes of the tool or operation. One of "none", "local", "remote", "unknown".
replay enum Yes Declared replay characteristics; unknown never implies safe repetition. One of "never", "idempotent", "reconcile", "unknown".
evidence_resource_ids array of string Yes Resources supporting the claim or recovery declaration. Minimum items: 0. Items MUST be unique.
recovery Operation Recovery Object Yes Declared strategy for resolving or recovering the operation.

Rules

See portable-continuation rules.

  • When kind is "tool", require call_id.

Additional properties are permitted and MUST be preserved when relaying supported JSON values. They do not acquire execution semantics without a declared feature or dialect.

Example

{
  "id": "publish-operation",
  "call_id": "call-1",
  "kind": "tool",
  "external_identity": {
    "namespace": "example.publisher/account-A",
    "value": "operation-42"
  },
  "state": "outcome_unknown",
  "effects": "remote",
  "replay": "reconcile",
  "evidence_resource_ids": [],
  "recovery": {
    "strategy": "reconcile",
    "handler_dependency_id": "publisher",
    "idempotency_ref": null,
    "evidence_resource_ids": []
  }
}

Operation External Identity Object

Names an operation in an external system without treating its identifier as proof of status.

Fixed fields

Field Type Required Description
namespace string Yes Namespace in which the opaque value is meaningful. Minimum length: 1.
value string Yes Value interpreted according to the enclosing schema, dialect or counter. Minimum length: 1.

Rules

See portable-continuation rules.

Additional properties are permitted and MUST be preserved when relaying supported JSON values. They do not acquire execution semantics without a declared feature or dialect.

Example

{
  "namespace": "example.publisher/account-A",
  "value": "operation-42"
}

Operation Recovery Object

Declares a recovery strategy and its required handler, idempotency binding and evidence.

Fixed fields

Field Type Required Description
strategy enum Yes Recovery action supported by the declared evidence and handler. One of "reconcile", "reconnect", "restart", "refuse".
handler_dependency_id string / null Yes Dependency implementing recovery, or null when no handler is selected.
idempotency_ref string / null Yes Recorded idempotency binding, when available; not an authorization to replay.
evidence_resource_ids array of string Yes Resources supporting the claim or recovery declaration. Minimum items: 0. Items MUST be unique.

Rules

See portable-continuation rules.

Additional properties are permitted and MUST be preserved when relaying supported JSON values. They do not acquire execution semantics without a declared feature or dialect.

Example

{
  "strategy": "reconcile",
  "handler_dependency_id": "publisher",
  "idempotency_ref": null,
  "evidence_resource_ids": []
}

Native Import Object

Describes a native-state import contract, including ordering, indexes, identity and conflicts.

Fixed fields

Field Type Required Description
id string Yes Opaque, case-sensitive identity within the object's declared scope. Minimum length: 1.
adapter Native Adapter Object Yes Adapter implementation and version interpreting the source or destination.
source_state_format string Yes Native source format expected by the import adapter. Minimum length: 1.
accepted_target_agent_versions array of string Yes Explicit target versions supported by this import contract. Minimum items: 0. Items MUST be unique.
resource_ids array of string Yes IDs of supporting resources; their availability is declared separately. Minimum items: 0. Items MUST be unique.
mode enum Yes Representation or interpretation mode selected by the enclosing object. One of "copy", "continue", "translate".
identity_policy enum Yes How native identities are preserved or mapped during import. One of "new", "preserve_if_safe", "map".
ordering_contract string Yes Contract for preserving native history ordering. Minimum length: 1.
index_contract string Yes Contract for rebuilding or maintaining native indexes. Minimum length: 1.
conflict_policy enum Yes Declared behavior if destination state already exists. One of "reject", "new_identity", "replace_if_unchanged".
baseline_sha256 string No Digest of the destination baseline required for conditional replacement. Pattern: ^[0-9a-f]{64}(?![\s\S]).

Rules

See portable-continuation rules.

  • When conflict_policy is "replace_if_unchanged", require baseline_sha256.
  • When mode is "copy", identity_policy MUST be "new".

Additional properties are permitted and MUST be preserved when relaying supported JSON values. They do not acquire execution semantics without a declared feature or dialect.

Example

{
  "id": "native",
  "adapter": {
    "id": "example-adapter",
    "version": "1"
  },
  "source_state_format": "example-native/1",
  "accepted_target_agent_versions": [
    "2"
  ],
  "resource_ids": [
    "native-state"
  ],
  "mode": "translate",
  "identity_policy": "map",
  "ordering_contract": "example.ordinal-order/1",
  "index_contract": "example.native-index/1",
  "conflict_policy": "reject"
}

Native Adapter Object

Names the adapter responsible for interpreting this native import contract.

Fixed fields

Field Type Required Description
id string Yes Opaque, case-sensitive identity within the object's declared scope. Minimum length: 1.
version string Yes Implementation or format version. Minimum length: 1.

Rules

See portable-continuation rules.

Additional properties are permitted and MUST be preserved when relaying supported JSON values. They do not acquire execution semantics without a declared feature or dialect.

Example

{
  "id": "example-a-to-b",
  "version": "1"
}

Context Accounting Object

Explains how one branch event is represented, summarized, excluded or unavailable in the selected context.

Fixed fields

Field Type Required Description
event_id string Yes Event identity, resolved locally unless an external capture is explicit. Minimum length: 1.
disposition enum Yes How the source event is accounted for in the selected context. One of "included", "summarized", "not_input", "unavailable".
input_ids array of string Yes Context input IDs representing or summarizing this event. Minimum items: 0. Items MUST be unique.
explanation string Yes Reason for the declaration or limitation. Minimum length: 1.

Rules

See portable-continuation rules.

Additional properties are permitted and MUST be preserved when relaying supported JSON values. They do not acquire execution semantics without a declared feature or dialect.

Example

{
  "event_id": "e1",
  "disposition": "included",
  "input_ids": [
    "input-e1"
  ],
  "explanation": "Retained as a typed input in the reconstructed continuation context."
}

Next Action Object

Declares the intended next interaction after prerequisites and destination authorization are resolved.

Fixed fields

Field Type Required Description
kind enum Yes Discriminator selecting this object's interpretation. One of "model_request", "await_user", "await_decision", "reconcile_operation", "resume_native".
request_id string No Session-scoped identity of the exact decision request. Minimum length: 1.
operation_id string No ID of the operation selected for reconciliation. Minimum length: 1.
native_import_id string No ID of the selected native import contract, or null where allowed. Minimum length: 1.

Rules

See portable-continuation rules.

  • When kind is "await_decision", require request_id.
  • When kind is "reconcile_operation", require operation_id.
  • When kind is "resume_native", require native_import_id.

Additional properties are permitted and MUST be preserved when relaying supported JSON values. They do not acquire execution semantics without a declared feature or dialect.

Example

{
  "kind": "await_user"
}

Continuation Plan Object

Selects one checkpoint, context, configuration and dependency closure for a particular continuation attempt.

Fixed fields

Field Type Required Description
id string Yes Opaque, case-sensitive identity within the object's declared scope. Minimum length: 1.
checkpoint_id string Yes ID of the continuation boundary checkpoint. Minimum length: 1.
context_id string Yes ID of the selected Context Object. Minimum length: 1.
configuration_id string Yes ID of the configuration snapshot used at this boundary. Minimum length: 1.
workspace_ids array of string Yes Selected workspace states, at most one state per root. Minimum items: 0. Items MUST be unique.
dependency_ids array of string Yes IDs of selected dependencies; selected closure must be complete. Minimum items: 0. Items MUST be unique.
service_binding_ids array of string Yes Service bindings selected for this continuation plan. Minimum items: 0. Items MUST be unique.
operation_ids array of string Yes Operations selected for this continuation plan. Minimum items: 0. Items MUST be unique.
native_import_id string / null Yes ID of the selected native import contract, or null where allowed.
boundary Plan Boundary Object Yes Explanation or structured declaration of the observation boundary.
context_accounting array of Context Accounting Object Yes One disposition for each selected branch event. Minimum items: 0.
cwd Plan Cwd Object / null Yes Selected logical working directory, or null if none is required.
path_references array of Plan Path References Object Yes Explicit fields requiring path rebinding; arbitrary strings are not rewritten. Minimum items: 0.
model_requirements Plan Model Requirements Object Yes Source-model identity and capability, media and overflow requirements.
next_action Next Action Object Yes Proposed next interaction after prerequisite checks.

Rules

See portable-continuation rules.

Additional properties are permitted and MUST be preserved when relaying supported JSON values. They do not acquire execution semantics without a declared feature or dialect.

Example

{
  "id": "continue-main",
  "checkpoint_id": "head",
  "context_id": "continue-context",
  "configuration_id": "effective",
  "workspace_ids": [],
  "dependency_ids": [
    "publisher"
  ],
  "service_binding_ids": [
    "publisher-service"
  ],
  "operation_ids": [
    "publish-operation"
  ],
  "native_import_id": null,
  "boundary": {
    "method": "quiesced",
    "consistency": "consistent",
    "evidence_resource_ids": [],
    "explanation": "Invented quiescent source checkpoint; illustrative evidence only."
  },
  "context_accounting": [
    {
      "event_id": "e1",
      "disposition": "included",
      "input_ids": [
        "input-e1"
      ],
      "explanation": "Retained as a typed input in the reconstructed continuation context."
    },
    {
      "event_id": "e2",
      "disposition": "included",
      "input_ids": [
        "input-e2"
      ],
      "explanation": "Retained as a typed input in the reconstructed continuation context."
    }
  ],
  "cwd": null,
  "path_references": [],
  "model_requirements": {
    "source_model": {
      "provider": "example",
      "id": "model-a",
      "revision": "1"
    },
    "capabilities": [
      "text",
      "tool_calls"
    ],
    "media_types": [
      "text/csv",
      "text/markdown"
    ],
    "overflow_policy": "block"
  },
  "next_action": {
    "kind": "reconcile_operation",
    "operation_id": "publish-operation"
  }
}

Plan Boundary Object

Describes how the source boundary was captured consistently and identifies supporting evidence.

Fixed fields

Field Type Required Description
method enum Yes Method used to derive, synthesize or capture this record. One of "quiesced", "transactional", "bounded_read", "best_effort".
consistency enum Yes Whether the captured boundary is known to be consistent. One of "consistent", "partial", "unknown".
evidence_resource_ids array of string Yes Resources supporting the claim or recovery declaration. Minimum items: 0. Items MUST be unique.
explanation string Yes Reason for the declaration or limitation. Minimum length: 1.

Rules

See portable-continuation rules.

Additional properties are permitted and MUST be preserved when relaying supported JSON values. They do not acquire execution semantics without a declared feature or dialect.

Example

{
  "method": "quiesced",
  "consistency": "consistent",
  "evidence_resource_ids": [],
  "explanation": "Invented quiescent source checkpoint; illustrative evidence only."
}

Plan Cwd Object

Names the working directory relative to a selected logical workspace root.

Fixed fields

Field Type Required Description
root_id string Yes Logical workspace root identity, independent of source and destination absolute paths. Minimum length: 1.
relative_path string Yes Portable path relative to the named logical root.

Rules

See portable-continuation rules.

Additional properties are permitted and MUST be preserved when relaying supported JSON values. They do not acquire execution semantics without a declared feature or dialect.

Example

{
  "root_id": "project",
  "relative_path": ""
}

Plan Path References Object

Maps one explicitly selected string field to a logical root and relative path; it never triggers global string replacement.

Fixed fields

Field Type Required Description
entity_type enum Yes Type of the entity containing or identified by this reference. One of "event", "resource", "environment", "configuration", "dependency".
entity_id string Yes ID of that entity within its collection. Minimum length: 1.
json_pointer string Yes RFC 6901 pointer to the exact string field being mapped. Minimum length: 1.
root_id string Yes Logical workspace root identity, independent of source and destination absolute paths. Minimum length: 1.
relative_path string Yes Portable path relative to the named logical root.

Rules

See portable-continuation rules.

Additional properties are permitted and MUST be preserved when relaying supported JSON values. They do not acquire execution semantics without a declared feature or dialect.

Example

{
  "entity_type": "environment",
  "entity_id": "project-env",
  "json_pointer": "/definition/value/cwd",
  "root_id": "project",
  "relative_path": ""
}

Plan Model Requirements Object

Declares the source model, required capabilities and media types, and overflow handling.

Fixed fields

Field Type Required Description
source_model Model Object Yes Source model identity used for adaptation comparison.
capabilities array of string Yes Required or declared abilities for this configuration or model. Minimum items: 0. Items MUST be unique.
media_types array of string Yes Media types the target must accept or explicitly adapt. Minimum items: 0. Items MUST be unique.
overflow_policy enum Yes Permitted handling when the context exceeds destination capacity. One of "block", "propose_compaction".

Rules

See portable-continuation rules.

Additional properties are permitted and MUST be preserved when relaying supported JSON values. They do not acquire execution semantics without a declared feature or dialect.

Example

{
  "source_model": {
    "provider": "example",
    "id": "model-a",
    "revision": "1"
  },
  "capabilities": [
    "text",
    "tool_calls"
  ],
  "media_types": [
    "text/csv",
    "text/markdown"
  ],
  "overflow_policy": "block"
}