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
- Agent Object
- Runtime Object
- Runtime Adapter Object
- Model Object
- Workspace Entry Object
- Git State Object
- Git Prerequisites Object
- Git Index Entries Object
- Git Submodules Object
- Workspace Object
- Workspace Selection Object
- Tool Behavior Object
- Dependency Object
- Dependency Platform Object
- Dependency Binding Object
- Scope Object
- Activation Object
- Configuration Binding Object
- Configuration Binding Instruction Rules Object
- Service Binding Object
- Service Endpoint Object
- Service Account Object
- Operation Object
- Operation External Identity Object
- Operation Recovery Object
- Native Import Object
- Native Adapter Object
- Context Accounting Object
- Next Action Object
- Continuation Plan Object
- Plan Boundary Object
- Plan Cwd Object
- Plan Path References Object
- Plan Model Requirements Object
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¶
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¶
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¶
Model Object¶
Identifies a model provider, model ID and optional known revision without assuming equivalence to another model.
Fixed fields¶
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¶
Workspace Entry Object¶
One selected filesystem entry. File bytes are resources; link targets are declarations requiring a destination link policy.
Fixed fields¶
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
kindis"file", requiremode,resource_id. - When
kindis"directory", requiremode. - When
kindis"symlink", requiretarget.
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¶
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¶
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¶
Git Index Entries Object¶
Records one index path and stage, preserving conflicts rather than collapsing them into working-tree content.
Fixed fields¶
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¶
Git Submodules Object¶
Pins a submodule path and commit and names the dependency needed to resolve it.
Fixed fields¶
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
modeis"refs", requiregit.
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¶
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¶
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¶
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
kindis"tool", requiretool_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¶
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¶
Dependency Binding Object¶
Describes how a dependency is expected to be resolved without installing or fetching it automatically.
Fixed fields¶
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¶
Scope Object¶
A portable instruction scope: global, a logical root or a path prefix within that root.
Fixed fields¶
Rules¶
See portable-continuation rules.
- When
kindis"root", requireroot_id. - When
kindis"path_prefix", requireroot_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¶
Activation Object¶
An unconditional activation or a predicate in an explicitly named dialect.
Fixed fields¶
Rules¶
See portable-continuation rules.
- When
kindis"predicate", requiredialect,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¶
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¶
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¶
Service Account Object¶
Identifies the expected account without including credentials.
Fixed fields¶
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¶
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
kindis"tool", requirecall_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¶
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¶
Operation Recovery Object¶
Declares a recovery strategy and its required handler, idempotency binding and evidence.
Fixed fields¶
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_policyis"replace_if_unchanged", requirebaseline_sha256. - When
modeis"copy",identity_policyMUST 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¶
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¶
Context Accounting Object¶
Explains how one branch event is represented, summarized, excluded or unavailable in the selected context.
Fixed fields¶
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¶
Rules¶
See portable-continuation rules.
- When
kindis"await_decision", requirerequest_id. - When
kindis"reconcile_operation", requireoperation_id. - When
kindis"resume_native", requirenative_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¶
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¶
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¶
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¶
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¶
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.