Destination report 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
- Destination Report Object
- Source Object
- Destination Object
- Path Bindings Object
- Identity Mappings Object
- Model Assessment Object
- Blocking Reasons Object
- Import Result Object
- Continuation Result Object
- Runtime Object
- Runtime Adapter Object
- Agent Object
- Model Object
- Subject Object
- Assessment Object
- Assessment Resolved Object
- Assessment Resolved Account Object
- Assessment Resolved External Identity Object
- Capability Component Object
- Capability Snapshot Object
- Snapshot Evidence Object
- Evidence Object
- Transformation Object
- Result Object
Destination Report Object¶
An expiring assessment bound to exact source bytes and a particular destination. Synthetic reports cannot claim execution.
Fixed fields¶
| Field | Type | Required | Description |
|---|---|---|---|
report_version |
"0.2" |
Yes | Version of the destination-report format. |
evaluation_mode |
enum | Yes | Whether evidence is observed or synthetic; synthetic results cannot claim execution. One of "synthetic", "observed". |
id |
string | Yes | Opaque, case-sensitive identity within the object's declared scope. Minimum length: 1. |
source |
Source Object | Yes | Source identity and boundary or report binding. |
destination |
Destination Object | Yes | Identity and capability snapshot of the assessed destination. |
assessed_at |
string | Yes | Time at which the assessment was made, including timezone. Minimum length: 1. |
expires_at |
string | Yes | Exclusive expiry time after which the assessment must be refreshed. Minimum length: 1. |
outcome |
enum | Yes | Recorded result or assessment outcome; unknown remains explicit. One of "ready", "blocked", "adaptation_required". |
assessments |
array of Assessment Object | Yes | Subject-specific support, adaptation and blocker declarations. Minimum items: 1. |
path_bindings |
array of Path Bindings Object | Yes | Destination paths and comparison rules for selected logical roots. Minimum items: 0. |
identity_mappings |
array of Identity Mappings Object | Yes | Explicit mappings of source IDs into destination namespaces. Minimum items: 0. |
transformations |
array of Transformation Object | Yes | Declared adaptations and their acceptance state. Minimum items: 0. |
model_assessment |
Model Assessment Object | Yes | Target-model selection and context-fit measurement. |
blocking_reasons |
array of Blocking Reasons Object | Yes | Reasons tied to subjects that prevent readiness. Minimum items: 0. |
evidence |
array of Evidence Object | Yes | Recorded evidence referenced by assessments, transformations and results. Minimum items: 0. |
import_result |
Import Result Object | Yes | Observed or explicitly unattempted native import outcome. |
continuation_result |
Continuation Result Object | Yes | Observed or explicitly untested continuation outcome. |
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¶
{
"report_version": "0.2",
"evaluation_mode": "synthetic",
"id": "assessment-pending-remote-operation",
"source": {
"session_id": "session-pending-remote-operation",
"capture_id": "capture-pending-remote-operation",
"plan_id": "continue-main",
"document_sha256": "dc12ec7e916d78633e33355378f998f90097d6cc569eb04d93878c53df778187"
},
"destination": {
"id": "example-cloud-runtime",
"runtime": {
"agent": {
"id": "example-agent-a",
"version": "1",
"state_format": "example-native/1"
},
"adapter": {
"id": "example-adapter",
"version": "1"
},
"os": "linux",
"architecture": "x86_64"
},
"capabilities_sha256": "c4062f8e1e916b40aa06ddac802ce8af488b592dd9ccd7279ae051bfecdcab1c",
"capabilities_snapshot": {
"format": "asif.destination-capabilities/0.1",
"availability": "supplied",
"data": "ewogICJzbmFwc2hvdF92ZXJzaW9uIjogIjAuMSIsCiAgImlkIjogInNuYXBzaG90LWFzc2Vzc21lbnQtcGVuZGluZy1yZW1vdGUtb3BlcmF0aW9uIiwKICAiZGVzdGluYXRpb25faWQiOiAiZXhhbXBsZS1jbG91ZC1ydW50aW1lIiwKICAicHJvZHVjZXIiOiAiYXNpZi1leGFtcGxlcyIsCiAgImV2YWx1YXRpb25fbW9kZSI6ICJzeW50aGV0aWMiLAogICJvYnNlcnZlZF9hdCI6ICIyMDI2LTA5LTI2VDEyOjAwOjAwWiIsCiAgImV4cGlyZXNfYXQiOiAiMjAyNi0wOS0yNlQxMzowMDowMFoiLAogICJydW50aW1lIjogewogICAgImFnZW50IjogewogICAgICAiaWQiOiAiZXhhbXBsZS1hZ2VudC1hIiwKICAgICAgInZlcnNpb24iOiAiMSIsCiAgICAgICJzdGF0ZV9mb3JtYXQiOiAiZXhhbXBsZS1uYXRpdmUvMSIKICAgIH0sCiAgICAiYWRhcHRlciI6IHsKICAgICAgImlkIjogImV4YW1wbGUtYWRhcHRlciIsCiAgICAgICJ2ZXJzaW9uIjogIjEiCiAgICB9LAogICAgIm9zIjogImxpbnV4IiwKICAgICJhcmNoaXRlY3R1cmUiOiAieDg2XzY0IgogIH0sCiAgInJ1bnRpbWVfcmV2aXNpb24iOiAic3ludGhldGljLXJ1bnRpbWUtMSIsCiAgInN1cHBvcnRlZF9mZWF0dXJlcyI6IFsKICAgICJhc2lmLnBvcnRhYmxlLWNvbnRpbnVhdGlvbi8wLjIiCiAgXSwKICAiY29tcG9uZW50cyI6IFsKICAgIHsKICAgICAgImlkIjogImNvbXBvbmVudC0xIiwKICAgICAgImtpbmQiOiAibW9kZWwiLAogICAgICAiaWRlbnRpdHkiOiAiZXhhbXBsZS9tb2RlbC1hIiwKICAgICAgInZlcnNpb24iOiAiMSIsCiAgICAgICJyZXZpc2lvbiI6ICJzeW50aGV0aWMtc3RhdGUtMSIsCiAgICAgICJzdGF0dXMiOiAiYXZhaWxhYmxlIiwKICAgICAgIm1vZGVsIjogewogICAgICAgICJwcm92aWRlciI6ICJleGFtcGxlIiwKICAgICAgICAiaWQiOiAibW9kZWwtYSIsCiAgICAgICAgInJldmlzaW9uIjogIjEiCiAgICAgIH0sCiAgICAgICJ0b2tlbml6ZXIiOiAiZXhhbXBsZS10b2tlbml6ZXIvMSIsCiAgICAgICJpbnB1dF9saW1pdCI6IDgwMDAsCiAgICAgICJtZWRpYV90eXBlcyI6IFsKICAgICAgICAidGV4dC9jc3YiLAogICAgICAgICJ0ZXh0L21hcmtkb3duIgogICAgICBdLAogICAgICAiY2FwYWJpbGl0aWVzIjogWwogICAgICAgICJ0ZXh0IiwKICAgICAgICAidG9vbF9jYWxscyIKICAgICAgXQogICAgfSwKICAgIHsKICAgICAgImlkIjogImNvbXBvbmVudC0yIiwKICAgICAgImtpbmQiOiAibW9kZWwiLAogICAgICAiaWRlbnRpdHkiOiAiZXhhbXBsZS9tb2RlbC1hIiwKICAgICAgInZlcnNpb24iOiAiMSIsCiAgICAgICJyZXZpc2lvbiI6ICJzeW50aGV0aWMtc3RhdGUtMSIsCiAgICAgICJzdGF0dXMiOiAiYXZhaWxhYmxlIiwKICAgICAgIm1vZGVsIjogewogICAgICAgICJwcm92aWRlciI6ICJleGFtcGxlIiwKICAgICAgICAiaWQiOiAibW9kZWwtYSIsCiAgICAgICAgInJldmlzaW9uIjogIjEiCiAgICAgIH0sCiAgICAgICJ0b2tlbml6ZXIiOiAiZXhhbXBsZS10b2tlbml6ZXIvMSIsCiAgICAgICJpbnB1dF9saW1pdCI6IDgwMDAsCiAgICAgICJtZWRpYV90eXBlcyI6IFsKICAgICAgICAidGV4dC9jc3YiLAogICAgICAgICJ0ZXh0L21hcmtkb3duIgogICAgICBdLAogICAgICAiY2FwYWJpbGl0aWVzIjogWwogICAgICAgICJ0ZXh0IiwKICAgICAgICAidG9vbF9jYWxscyIKICAgICAgXQogICAgfSwKICAgIHsKICAgICAgImlkIjogImNvbXBvbmVudC0zIiwKICAgICAgImtpbmQiOiAiY29uZmlndXJhdGlvbiIsCiAgICAgICJpZGVudGl0eSI6ICJleGFtcGxlLmNvbmZpZ3VyYXRpb24uZWZmZWN0aXZlIiwKICAgICAgInZlcnNpb24iOiAiMSIsCiAgICAgICJyZXZpc2lvbiI6ICJzeW50aGV0aWMtc3RhdGUtMSIsCiAgICAgICJzdGF0dXMiOiAiYXZhaWxhYmxlIgogICAgfSwKICAgIHsKICAgICAgImlkIjogImNvbXBvbmVudC00IiwKICAgICAgImtpbmQiOiAiZGVwZW5kZW5jeSIsCiAgICAgICJpZGVudGl0eSI6ICJleGFtcGxlLmludmVudG9yeS5wdWJsaXNoIiwKICAgICAgInZlcnNpb24iOiAiMSIsCiAgICAgICJyZXZpc2lvbiI6ICJzeW50aGV0aWMtc3RhdGUtMSIsCiAgICAgICJzdGF0dXMiOiAiYXZhaWxhYmxlIgogICAgfSwKICAgIHsKICAgICAgImlkIjogImNvbXBvbmVudC01IiwKICAgICAgImtpbmQiOiAic2VydmljZSIsCiAgICAgICJpZGVudGl0eSI6ICJleGFtcGxlLnNlcnZpY2UucHVibGlzaGVyLXNlcnZpY2UiLAogICAgICAidmVyc2lvbiI6ICIxIiwKICAgICAgInJldmlzaW9uIjogInN5bnRoZXRpYy1zdGF0ZS0xIiwKICAgICAgInN0YXR1cyI6ICJ1bmtub3duIiwKICAgICAgImFjY291bnQiOiB7CiAgICAgICAgInByb3ZpZGVyIjogImV4YW1wbGUiLAogICAgICAgICJzdWJqZWN0IjogImFjY291bnQtQSIKICAgICAgfSwKICAgICAgImF1ZGllbmNlIjogImV4YW1wbGUucHVibGlzaGVyIiwKICAgICAgInNjb3BlcyI6IFtdLAogICAgICAic2VjcmV0X2hhbmRsZXMiOiBbXSwKICAgICAgImVuZHBvaW50IjogImh0dHBzOi8vcHVibGlzaGVyLmV4YW1wbGUuaW52YWxpZCIKICAgIH0sCiAgICB7CiAgICAgICJpZCI6ICJjb21wb25lbnQtNiIsCiAgICAgICJraW5kIjogIm9wZXJhdGlvbiIsCiAgICAgICJpZGVudGl0eSI6ICJleGFtcGxlLm9wZXJhdGlvbi5wdWJsaXNoLW9wZXJhdGlvbiIsCiAgICAgICJ2ZXJzaW9uIjogIjEiLAogICAgICAicmV2aXNpb24iOiAic3ludGhldGljLXN0YXRlLTEiLAogICAgICAic3RhdHVzIjogInVua25vd24iLAogICAgICAicmVjb3Zlcnlfc3RyYXRlZ3kiOiAicmVjb25jaWxlIiwKICAgICAgImV4dGVybmFsX2lkZW50aXR5IjogewogICAgICAgICJuYW1lc3BhY2UiOiAiZXhhbXBsZS5wdWJsaXNoZXIvYWNjb3VudC1BIiwKICAgICAgICAidmFsdWUiOiAib3BlcmF0aW9uLTQyIgogICAgICB9CiAgICB9CiAgXQp9Cg==",
"bytes": 2923,
"evidence_id": "snapshot-inspection"
}
},
"assessed_at": "2026-09-26T12:00:00Z",
"expires_at": "2026-09-26T13:00:00Z",
"outcome": "blocked",
"assessments": [
{
"subject": {
"kind": "plan",
"id": "continue-main"
},
"status": "supported",
"required": true,
"detail": "Assumed supported in this synthetic example; no actual destination check occurred.",
"evidence_ids": [
"scenario"
],
"component_ids": []
},
{
"subject": {
"kind": "context",
"id": "continue-context"
},
"status": "supported",
"required": false,
"detail": "Assumed supported in this synthetic example; no actual destination check occurred.",
"evidence_ids": [
"scenario"
],
"component_ids": [
"component-1"
]
},
{
"subject": {
"kind": "model",
"id": "continue-main"
},
"status": "supported",
"required": false,
"detail": "Assumed supported in this synthetic example; no actual destination check occurred.",
"evidence_ids": [
"scenario"
],
"component_ids": [
"component-2"
]
},
{
"subject": {
"kind": "configuration",
"id": "effective"
},
"status": "supported",
"required": true,
"detail": "Assumed supported in this synthetic example; no actual destination check occurred.",
"evidence_ids": [
"scenario"
],
"component_ids": [
"component-3"
]
},
{
"subject": {
"kind": "feature",
"id": "asif.portable-continuation/0.2"
},
"status": "supported",
"required": true,
"detail": "Assumed supported in this synthetic example; no actual destination check occurred.",
"evidence_ids": [
"scenario"
],
"component_ids": []
},
{
"subject": {
"kind": "resource",
"id": "source-csv"
},
"status": "supported",
"required": false,
"detail": "Assumed supported in this synthetic example; no actual destination check occurred.",
"evidence_ids": [
"scenario"
],
"component_ids": []
},
{
"subject": {
"kind": "dependency",
"id": "publisher"
},
"status": "supported",
"required": true,
"detail": "Assumed supported in this synthetic example; no actual destination check occurred.",
"evidence_ids": [
"scenario"
],
"resolved": {
"identity": "example.inventory.publish",
"version": "1"
},
"component_ids": [
"component-4"
]
},
{
"subject": {
"kind": "service",
"id": "publisher-service"
},
"status": "unresolved",
"required": true,
"detail": "Remote outcome or destination login must be verified before any continuation.",
"evidence_ids": [
"scenario"
],
"component_ids": [
"component-5"
]
},
{
"subject": {
"kind": "operation",
"id": "publish-operation"
},
"status": "unresolved",
"required": true,
"detail": "Remote outcome or destination login must be verified before any continuation.",
"evidence_ids": [
"scenario"
],
"component_ids": [
"component-6"
]
}
],
"path_bindings": [],
"identity_mappings": [],
"transformations": [],
"model_assessment": {
"source": {
"provider": "example",
"id": "model-a",
"revision": "1"
},
"target": {
"provider": "example",
"id": "model-a",
"revision": "1"
},
"tokenizer": "example-tokenizer/1",
"input_tokens": 700,
"input_limit": 8000,
"output_reserve": 1000,
"fit": "fits"
},
"blocking_reasons": [
{
"subject": {
"kind": "service",
"id": "publisher-service"
},
"reason": "Remote outcome or destination login must be verified before any continuation."
},
{
"subject": {
"kind": "operation",
"id": "publish-operation"
},
"reason": "Remote outcome or destination login must be verified before any continuation."
}
],
"evidence": [
{
"id": "scenario",
"producer": "asif-examples",
"time": "2026-09-26T12:00:00Z",
"kind": "synthetic",
"detail": "Authored assumptions only. This receipt cannot authorize import or continuation."
},
{
"id": "snapshot-inspection",
"producer": "asif-examples",
"time": "2026-09-26T12:00:00Z",
"kind": "synthetic",
"detail": "Authored destination snapshot; no live inspection or credential lookup."
}
],
"import_result": {
"status": "not_attempted",
"evidence_ids": [],
"detail": "No import was executed."
},
"continuation_result": {
"status": "not_tested",
"evidence_ids": [],
"detail": "No agent was started."
}
}
Source Object¶
Binds this report to a source session, capture, continuation plan and exact document digest.
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¶
{
"session_id": "session-pending-remote-operation",
"capture_id": "capture-pending-remote-operation",
"plan_id": "continue-main",
"document_sha256": "dc12ec7e916d78633e33355378f998f90097d6cc569eb04d93878c53df778187"
}
Destination Object¶
Identifies the assessed destination runtime and the digest of its capability snapshot.
Fixed fields¶
| Field | Type | Required | Description |
|---|---|---|---|
id |
string | Yes | Opaque, case-sensitive identity within the object's declared scope. Minimum length: 1. |
runtime |
Runtime Object | Yes | Agent, adapter and platform of the assessed runtime. |
capabilities_sha256 |
string | Yes | Lowercase SHA-256 of the exact decoded snapshot bytes, with no reserialization or canonicalization. Pattern: ^[0-9a-f]{64}(?![\s\S]). |
capabilities_snapshot |
Snapshot Evidence Object | Yes | Supplied immutable snapshot bytes, format, availability and evidence binding. |
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-cloud-runtime",
"runtime": {
"agent": {
"id": "example-agent-a",
"version": "1",
"state_format": "example-native/1"
},
"adapter": {
"id": "example-adapter",
"version": "1"
},
"os": "linux",
"architecture": "x86_64"
},
"capabilities_sha256": "c4062f8e1e916b40aa06ddac802ce8af488b592dd9ccd7279ae051bfecdcab1c",
"capabilities_snapshot": {
"format": "asif.destination-capabilities/0.1",
"availability": "supplied",
"data": "ewogICJzbmFwc2hvdF92ZXJzaW9uIjogIjAuMSIsCiAgImlkIjogInNuYXBzaG90LWFzc2Vzc21lbnQtcGVuZGluZy1yZW1vdGUtb3BlcmF0aW9uIiwKICAiZGVzdGluYXRpb25faWQiOiAiZXhhbXBsZS1jbG91ZC1ydW50aW1lIiwKICAicHJvZHVjZXIiOiAiYXNpZi1leGFtcGxlcyIsCiAgImV2YWx1YXRpb25fbW9kZSI6ICJzeW50aGV0aWMiLAogICJvYnNlcnZlZF9hdCI6ICIyMDI2LTA5LTI2VDEyOjAwOjAwWiIsCiAgImV4cGlyZXNfYXQiOiAiMjAyNi0wOS0yNlQxMzowMDowMFoiLAogICJydW50aW1lIjogewogICAgImFnZW50IjogewogICAgICAiaWQiOiAiZXhhbXBsZS1hZ2VudC1hIiwKICAgICAgInZlcnNpb24iOiAiMSIsCiAgICAgICJzdGF0ZV9mb3JtYXQiOiAiZXhhbXBsZS1uYXRpdmUvMSIKICAgIH0sCiAgICAiYWRhcHRlciI6IHsKICAgICAgImlkIjogImV4YW1wbGUtYWRhcHRlciIsCiAgICAgICJ2ZXJzaW9uIjogIjEiCiAgICB9LAogICAgIm9zIjogImxpbnV4IiwKICAgICJhcmNoaXRlY3R1cmUiOiAieDg2XzY0IgogIH0sCiAgInJ1bnRpbWVfcmV2aXNpb24iOiAic3ludGhldGljLXJ1bnRpbWUtMSIsCiAgInN1cHBvcnRlZF9mZWF0dXJlcyI6IFsKICAgICJhc2lmLnBvcnRhYmxlLWNvbnRpbnVhdGlvbi8wLjIiCiAgXSwKICAiY29tcG9uZW50cyI6IFsKICAgIHsKICAgICAgImlkIjogImNvbXBvbmVudC0xIiwKICAgICAgImtpbmQiOiAibW9kZWwiLAogICAgICAiaWRlbnRpdHkiOiAiZXhhbXBsZS9tb2RlbC1hIiwKICAgICAgInZlcnNpb24iOiAiMSIsCiAgICAgICJyZXZpc2lvbiI6ICJzeW50aGV0aWMtc3RhdGUtMSIsCiAgICAgICJzdGF0dXMiOiAiYXZhaWxhYmxlIiwKICAgICAgIm1vZGVsIjogewogICAgICAgICJwcm92aWRlciI6ICJleGFtcGxlIiwKICAgICAgICAiaWQiOiAibW9kZWwtYSIsCiAgICAgICAgInJldmlzaW9uIjogIjEiCiAgICAgIH0sCiAgICAgICJ0b2tlbml6ZXIiOiAiZXhhbXBsZS10b2tlbml6ZXIvMSIsCiAgICAgICJpbnB1dF9saW1pdCI6IDgwMDAsCiAgICAgICJtZWRpYV90eXBlcyI6IFsKICAgICAgICAidGV4dC9jc3YiLAogICAgICAgICJ0ZXh0L21hcmtkb3duIgogICAgICBdLAogICAgICAiY2FwYWJpbGl0aWVzIjogWwogICAgICAgICJ0ZXh0IiwKICAgICAgICAidG9vbF9jYWxscyIKICAgICAgXQogICAgfSwKICAgIHsKICAgICAgImlkIjogImNvbXBvbmVudC0yIiwKICAgICAgImtpbmQiOiAibW9kZWwiLAogICAgICAiaWRlbnRpdHkiOiAiZXhhbXBsZS9tb2RlbC1hIiwKICAgICAgInZlcnNpb24iOiAiMSIsCiAgICAgICJyZXZpc2lvbiI6ICJzeW50aGV0aWMtc3RhdGUtMSIsCiAgICAgICJzdGF0dXMiOiAiYXZhaWxhYmxlIiwKICAgICAgIm1vZGVsIjogewogICAgICAgICJwcm92aWRlciI6ICJleGFtcGxlIiwKICAgICAgICAiaWQiOiAibW9kZWwtYSIsCiAgICAgICAgInJldmlzaW9uIjogIjEiCiAgICAgIH0sCiAgICAgICJ0b2tlbml6ZXIiOiAiZXhhbXBsZS10b2tlbml6ZXIvMSIsCiAgICAgICJpbnB1dF9saW1pdCI6IDgwMDAsCiAgICAgICJtZWRpYV90eXBlcyI6IFsKICAgICAgICAidGV4dC9jc3YiLAogICAgICAgICJ0ZXh0L21hcmtkb3duIgogICAgICBdLAogICAgICAiY2FwYWJpbGl0aWVzIjogWwogICAgICAgICJ0ZXh0IiwKICAgICAgICAidG9vbF9jYWxscyIKICAgICAgXQogICAgfSwKICAgIHsKICAgICAgImlkIjogImNvbXBvbmVudC0zIiwKICAgICAgImtpbmQiOiAiY29uZmlndXJhdGlvbiIsCiAgICAgICJpZGVudGl0eSI6ICJleGFtcGxlLmNvbmZpZ3VyYXRpb24uZWZmZWN0aXZlIiwKICAgICAgInZlcnNpb24iOiAiMSIsCiAgICAgICJyZXZpc2lvbiI6ICJzeW50aGV0aWMtc3RhdGUtMSIsCiAgICAgICJzdGF0dXMiOiAiYXZhaWxhYmxlIgogICAgfSwKICAgIHsKICAgICAgImlkIjogImNvbXBvbmVudC00IiwKICAgICAgImtpbmQiOiAiZGVwZW5kZW5jeSIsCiAgICAgICJpZGVudGl0eSI6ICJleGFtcGxlLmludmVudG9yeS5wdWJsaXNoIiwKICAgICAgInZlcnNpb24iOiAiMSIsCiAgICAgICJyZXZpc2lvbiI6ICJzeW50aGV0aWMtc3RhdGUtMSIsCiAgICAgICJzdGF0dXMiOiAiYXZhaWxhYmxlIgogICAgfSwKICAgIHsKICAgICAgImlkIjogImNvbXBvbmVudC01IiwKICAgICAgImtpbmQiOiAic2VydmljZSIsCiAgICAgICJpZGVudGl0eSI6ICJleGFtcGxlLnNlcnZpY2UucHVibGlzaGVyLXNlcnZpY2UiLAogICAgICAidmVyc2lvbiI6ICIxIiwKICAgICAgInJldmlzaW9uIjogInN5bnRoZXRpYy1zdGF0ZS0xIiwKICAgICAgInN0YXR1cyI6ICJ1bmtub3duIiwKICAgICAgImFjY291bnQiOiB7CiAgICAgICAgInByb3ZpZGVyIjogImV4YW1wbGUiLAogICAgICAgICJzdWJqZWN0IjogImFjY291bnQtQSIKICAgICAgfSwKICAgICAgImF1ZGllbmNlIjogImV4YW1wbGUucHVibGlzaGVyIiwKICAgICAgInNjb3BlcyI6IFtdLAogICAgICAic2VjcmV0X2hhbmRsZXMiOiBbXSwKICAgICAgImVuZHBvaW50IjogImh0dHBzOi8vcHVibGlzaGVyLmV4YW1wbGUuaW52YWxpZCIKICAgIH0sCiAgICB7CiAgICAgICJpZCI6ICJjb21wb25lbnQtNiIsCiAgICAgICJraW5kIjogIm9wZXJhdGlvbiIsCiAgICAgICJpZGVudGl0eSI6ICJleGFtcGxlLm9wZXJhdGlvbi5wdWJsaXNoLW9wZXJhdGlvbiIsCiAgICAgICJ2ZXJzaW9uIjogIjEiLAogICAgICAicmV2aXNpb24iOiAic3ludGhldGljLXN0YXRlLTEiLAogICAgICAic3RhdHVzIjogInVua25vd24iLAogICAgICAicmVjb3Zlcnlfc3RyYXRlZ3kiOiAicmVjb25jaWxlIiwKICAgICAgImV4dGVybmFsX2lkZW50aXR5IjogewogICAgICAgICJuYW1lc3BhY2UiOiAiZXhhbXBsZS5wdWJsaXNoZXIvYWNjb3VudC1BIiwKICAgICAgICAidmFsdWUiOiAib3BlcmF0aW9uLTQyIgogICAgICB9CiAgICB9CiAgXQp9Cg==",
"bytes": 2923,
"evidence_id": "snapshot-inspection"
}
}
Path Bindings Object¶
Maps one logical root to a destination path and declares the destination's path comparison rules.
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¶
{
"root_id": "project",
"destination_path": "/work/project",
"case_sensitive": true,
"unicode_normalization": "none"
}
Identity Mappings Object¶
Records an explicit mapping of a source entity identity into the destination namespace.
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": "native_session",
"source_id": "source-native",
"target_id": "source-native",
"target_namespace": "example-cloud-runtime"
}
Model Assessment Object¶
Reports the target model and measured or unknown context fit, including reserved output capacity.
Fixed fields¶
| Field | Type | Required | Description |
|---|---|---|---|
source |
Model Object | Yes | Source identity and boundary or report binding. |
target |
Model Object | Yes | Declared target value, model or symbolic-link target according to context. |
tokenizer |
string / null | Yes | Tokenizer identity used for input measurement, or null when unmeasured. |
input_tokens |
integer / null | Yes | Measured input token count, or null when unknown. |
input_limit |
integer / null | Yes | Destination input capacity, or null when unknown. |
output_reserve |
integer | Yes | Capacity reserved for the next output. Minimum: 0. Maximum: 9007199254740991. |
fit |
enum | Yes | Whether the measured context fits the destination budget. One of "fits", "exceeds", "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¶
{
"source": {
"provider": "example",
"id": "model-a",
"revision": "1"
},
"target": {
"provider": "example",
"id": "model-b",
"revision": "2"
},
"tokenizer": "example-tokenizer/1",
"input_tokens": 700,
"input_limit": 8000,
"output_reserve": 1000,
"fit": "fits"
}
Blocking Reasons Object¶
Explains a subject-specific condition preventing the selected continuation plan from being ready.
Fixed fields¶
| Field | Type | Required | Description |
|---|---|---|---|
subject |
Subject Object | Yes | Account identity or assessed subject, as defined by the containing object. |
reason |
string | Yes | Reason for the recorded operation or unavailable interpretation. 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¶
{
"subject": {
"kind": "service",
"id": "publisher-service"
},
"reason": "Remote outcome or destination login must be verified before any continuation."
}
Import Result Object¶
Records whether native import was attempted and the evidence for its outcome.
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¶
Continuation Result Object¶
Records whether continuation was tested and the evidence for its outcome.
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¶
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¶
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¶
Subject Object¶
Identifies the exact entity or capability being assessed, including its owner where IDs are scoped.
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¶
Assessment Object¶
Records support, adaptation or a blocker for one subject, with evidence and any resolved binding.
Fixed fields¶
| Field | Type | Required | Description |
|---|---|---|---|
subject |
Subject Object | Yes | Account identity or assessed subject, as defined by the containing object. |
status |
enum | Yes | Recorded state at the relevant boundary; see the allowed values. One of "supported", "adapted", "omitted", "unresolved", "unsupported". |
required |
boolean | Yes | Whether the action-specific prerequisite closure requires this subject; reports must match the computed flag exactly. |
detail |
string | Yes | Explanation of the stated status or evidence. Minimum length: 1. |
evidence_ids |
array of string | Yes | IDs of evidence records supporting this declaration. Minimum items: 0. Items MUST be unique. |
resolved |
Assessment Resolved Object | No | Destination-resolved dependency or service values. |
component_ids |
array of string | Yes | Unique references to destination snapshot components used by this assessment. 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¶
{
"subject": {
"kind": "plan",
"id": "continue-main"
},
"status": "supported",
"required": true,
"detail": "Assumed supported in this synthetic example; no actual destination check occurred.",
"evidence_ids": [
"scenario"
],
"component_ids": []
}
Assessment Resolved Object¶
Destination dependency, service, operation recovery or core requirement binding, checked against its source declaration.
Fixed fields¶
| Field | Type | Required | Description |
|---|---|---|---|
identity |
string | No | Namespaced dependency identity to resolve. Minimum length: 1. |
version |
string / null | No | Implementation or format version. |
account |
Assessment Resolved Account Object | No | Expected or resolved service-account identity. |
scopes |
array of string | No | Required or resolved service access scopes. Minimum items: 0. Items MUST be unique. |
audience |
string | No | Intended service audience for access credentials. Minimum length: 1. |
endpoint |
string | No | Recorded or resolved endpoint declaration. Minimum length: 1. |
secret_handles |
array of string | No | Logical credential handles to resolve separately at the destination. Minimum items: 0. Items MUST be unique. |
status |
enum | No | Recorded state at the relevant boundary; see the allowed values. One of "available". |
recovery_strategy |
enum | No | Resolved reconcile or reconnect strategy; must match the selected source operation. One of "reconcile", "reconnect". |
external_identity |
Assessment Resolved External Identity Object | No | Identifier used to reconcile this operation in its external system. |
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¶
Assessment Resolved Account Object¶
Identifies the resolved destination account for comparison with the expected service account.
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¶
Assessment Resolved External Identity Object¶
Identifies the exact remote operation being reconciled; must match its source namespace and identity.
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¶
Capability Component Object¶
A destination component with identity, revision, availability and kind-specific facts. Its revision is an opaque non-secret token, not a digest.
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 "dependency", "configuration", "policy", "capability", "model", "service", "workspace", "operation", "native_import", "environment". |
identity |
string | Yes | Namespaced dependency identity to resolve. Minimum length: 1. |
version |
string / null | Yes | Implementation or format version. |
revision |
string | Yes | Versioned definition or task revision within its identity. Minimum length: 1. |
status |
enum | Yes | Recorded state at the relevant boundary; see the allowed values. One of "available", "unavailable", "unknown". |
model |
Model Object | No | Recorded model identity or settings for this scope. |
tokenizer |
string / null | No | Tokenizer identity used for input measurement, or null when unmeasured. |
input_limit |
integer / null | No | Destination input capacity, or null when unknown. |
media_types |
array of string | No | Media types the target must accept or explicitly adapt. Minimum items: 0. Items MUST be unique. |
capabilities |
array of string | No | Required or declared abilities for this configuration or model. Minimum items: 0. Items MUST be unique. |
account |
Assessment Resolved Account Object | No | Expected or resolved service-account identity. |
audience |
string | No | Intended service audience for access credentials. Minimum length: 1. |
scopes |
array of string | No | Required or resolved service access scopes. Minimum items: 0. Items MUST be unique. |
secret_handles |
array of string | No | Logical credential handles to resolve separately at the destination. Minimum items: 0. Items MUST be unique. |
endpoint |
string / null | No | Recorded or resolved endpoint declaration. |
root_id |
string | No | Logical workspace root identity, independent of source and destination absolute paths. Minimum length: 1. |
destination_path |
string | No | Absolute path selected by the destination for the logical root. Minimum length: 1. |
case_sensitive |
boolean | No | Whether the destination distinguishes path spelling by case. |
unicode_normalization |
enum | No | Normalization applied when checking destination path collisions. One of "none", "NFC", "NFD". |
recovery_strategy |
enum | No | Resolved reconcile or reconnect strategy; must match the selected source operation. One of "reconcile", "reconnect", "restart", "refuse". |
external_identity |
Assessment Resolved External Identity Object / null | No | Identifier used to reconcile this operation in its external system. |
Rules¶
See the destination capability snapshot contract for exact bytes, required inventory, component bindings, evidence, currentness and refusal rules.
- When
kindis"model", requiremodel,tokenizer,input_limit,media_types,capabilities. - When
kindis"service", requireaccount,audience,scopes,secret_handles,endpoint. - When
kindis"workspace", requireroot_id,destination_path,case_sensitive,unicode_normalization. - When
kindis"operation", requirerecovery_strategy,external_identity.
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": "component-1",
"kind": "model",
"identity": "example/model-a",
"version": "1",
"revision": "synthetic-state-1",
"status": "available",
"model": {
"provider": "example",
"id": "model-a",
"revision": "1"
},
"tokenizer": "example-tokenizer/1",
"input_limit": 8000,
"media_types": [
"text/csv",
"text/markdown"
],
"capabilities": [
"text",
"tool_calls"
]
}
Capability Snapshot Object¶
Immutable, versioned destination state declarations, hashed over their exact supplied JSON bytes.
Fixed fields¶
| Field | Type | Required | Description |
|---|---|---|---|
snapshot_version |
"0.1" |
Yes | Exact version of the destination capability snapshot contract. |
id |
string | Yes | Opaque, case-sensitive identity within the object's declared scope. Minimum length: 1. |
destination_id |
string | Yes | Identity of the assessed destination; must match the report. Minimum length: 1. |
producer |
string | Yes | Software or instrumentation responsible for the capture or evidence. Minimum length: 1. |
evaluation_mode |
enum | Yes | Whether evidence is observed or synthetic; synthetic results cannot claim execution. One of "synthetic", "observed". |
observed_at |
string | Yes | Snapshot observation instant, no later than report assessment. Minimum length: 1. |
expires_at |
string | Yes | Exclusive expiry time after which the assessment must be refreshed. Minimum length: 1. |
runtime |
Runtime Object | Yes | Agent, adapter and platform of the assessed runtime. |
runtime_revision |
string | Yes | Opaque non-secret generation for the runtime deployment and effective global settings. Minimum length: 1. |
supported_features |
array of string | Yes | Exact feature identifiers supported in this assessed snapshot. Minimum items: 0. Items MUST be unique. |
components |
array of Capability Component Object | Yes | Destination component inventory covering all claimed assessment support. Minimum items: 0. |
Rules¶
See the destination capability snapshot contract for exact bytes, required inventory, component bindings, evidence, currentness and refusal 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¶
{
"snapshot_version": "0.1",
"id": "snapshot-assessment-another-computer",
"destination_id": "example-cloud-runtime",
"producer": "asif-examples",
"evaluation_mode": "synthetic",
"observed_at": "2026-09-26T12:00:00Z",
"expires_at": "2026-09-26T13:00:00Z",
"runtime": {
"agent": {
"id": "example-agent-a",
"version": "1",
"state_format": "example-native/1"
},
"adapter": {
"id": "example-adapter",
"version": "1"
},
"os": "linux",
"architecture": "x86_64"
},
"runtime_revision": "synthetic-runtime-1",
"supported_features": [
"asif.portable-continuation/0.2"
],
"components": [
{
"id": "component-1",
"kind": "model",
"identity": "example/model-a",
"version": "1",
"revision": "synthetic-state-1",
"status": "available",
"model": {
"provider": "example",
"id": "model-a",
"revision": "1"
},
"tokenizer": "example-tokenizer/1",
"input_limit": 8000,
"media_types": [
"text/csv",
"text/markdown"
],
"capabilities": [
"text",
"tool_calls"
]
},
{
"id": "component-2",
"kind": "model",
"identity": "example/model-a",
"version": "1",
"revision": "synthetic-state-1",
"status": "available",
"model": {
"provider": "example",
"id": "model-a",
"revision": "1"
},
"tokenizer": "example-tokenizer/1",
"input_limit": 8000,
"media_types": [
"text/csv",
"text/markdown"
],
"capabilities": [
"text",
"tool_calls"
]
},
{
"id": "component-3",
"kind": "configuration",
"identity": "example.configuration.effective",
"version": "1",
"revision": "synthetic-state-1",
"status": "available"
},
{
"id": "component-4",
"kind": "configuration",
"identity": "example.instruction.workspace-rule",
"version": "1",
"revision": "synthetic-state-1",
"status": "available"
},
{
"id": "component-5",
"kind": "capability",
"identity": "example.capability.summary-skill",
"version": "1",
"revision": "synthetic-state-1",
"status": "available"
},
{
"id": "component-6",
"kind": "policy",
"identity": "example.policy.workspace-only",
"version": "1",
"revision": "synthetic-state-1",
"status": "available"
},
{
"id": "component-7",
"kind": "dependency",
"identity": "example-agent-a",
"version": "1",
"revision": "synthetic-state-1",
"status": "available"
},
{
"id": "component-8",
"kind": "dependency",
"identity": "example.inventory.summarize",
"version": "1",
"revision": "synthetic-state-1",
"status": "available"
},
{
"id": "component-9",
"kind": "dependency",
"identity": "example.inventory-summary",
"version": "1",
"revision": "synthetic-state-1",
"status": "available"
},
{
"id": "component-10",
"kind": "workspace",
"identity": "example.workspace.workspace-head",
"version": "1",
"revision": "synthetic-state-1",
"status": "available",
"root_id": "project",
"destination_path": "/work/project",
"case_sensitive": true,
"unicode_normalization": "none"
},
{
"id": "component-11",
"kind": "environment",
"identity": "example.environment.project-env",
"version": "1",
"revision": "synthetic-state-1",
"status": "available"
},
{
"id": "component-12",
"kind": "native_import",
"identity": "example-adapter",
"version": "1",
"revision": "synthetic-state-1",
"status": "available"
}
]
}
Snapshot Evidence Object¶
Supplies exact snapshot bytes and links their observation evidence; unavailable evidence cannot establish report validity.
Fixed fields¶
Rules¶
See the destination capability snapshot contract for exact bytes, required inventory, component bindings, evidence, currentness and refusal rules.
- When
availabilityis"supplied", requiredata,bytes. - When
availabilityis"unavailable", requireexplanation; omitdata,bytes.
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¶
{
"format": "asif.destination-capabilities/0.1",
"availability": "supplied",
"data": "ewogICJzbmFwc2hvdF92ZXJzaW9uIjogIjAuMSIsCiAgImlkIjogInNuYXBzaG90LWFzc2Vzc21lbnQtYW5vdGhlci1jb21wdXRlciIsCiAgImRlc3RpbmF0aW9uX2lkIjogImV4YW1wbGUtY2xvdWQtcnVudGltZSIsCiAgInByb2R1Y2VyIjogImFzaWYtZXhhbXBsZXMiLAogICJldmFsdWF0aW9uX21vZGUiOiAic3ludGhldGljIiwKICAib2JzZXJ2ZWRfYXQiOiAiMjAyNi0wOS0yNlQxMjowMDowMFoiLAogICJleHBpcmVzX2F0IjogIjIwMjYtMDktMjZUMTM6MDA6MDBaIiwKICAicnVudGltZSI6IHsKICAgICJhZ2VudCI6IHsKICAgICAgImlkIjogImV4YW1wbGUtYWdlbnQtYSIsCiAgICAgICJ2ZXJzaW9uIjogIjEiLAogICAgICAic3RhdGVfZm9ybWF0IjogImV4YW1wbGUtbmF0aXZlLzEiCiAgICB9LAogICAgImFkYXB0ZXIiOiB7CiAgICAgICJpZCI6ICJleGFtcGxlLWFkYXB0ZXIiLAogICAgICAidmVyc2lvbiI6ICIxIgogICAgfSwKICAgICJvcyI6ICJsaW51eCIsCiAgICAiYXJjaGl0ZWN0dXJlIjogIng4Nl82NCIKICB9LAogICJydW50aW1lX3JldmlzaW9uIjogInN5bnRoZXRpYy1ydW50aW1lLTEiLAogICJzdXBwb3J0ZWRfZmVhdHVyZXMiOiBbCiAgICAiYXNpZi5wb3J0YWJsZS1jb250aW51YXRpb24vMC4yIgogIF0sCiAgImNvbXBvbmVudHMiOiBbCiAgICB7CiAgICAgICJpZCI6ICJjb21wb25lbnQtMSIsCiAgICAgICJraW5kIjogIm1vZGVsIiwKICAgICAgImlkZW50aXR5IjogImV4YW1wbGUvbW9kZWwtYSIsCiAgICAgICJ2ZXJzaW9uIjogIjEiLAogICAgICAicmV2aXNpb24iOiAic3ludGhldGljLXN0YXRlLTEiLAogICAgICAic3RhdHVzIjogImF2YWlsYWJsZSIsCiAgICAgICJtb2RlbCI6IHsKICAgICAgICAicHJvdmlkZXIiOiAiZXhhbXBsZSIsCiAgICAgICAgImlkIjogIm1vZGVsLWEiLAogICAgICAgICJyZXZpc2lvbiI6ICIxIgogICAgICB9LAogICAgICAidG9rZW5pemVyIjogImV4YW1wbGUtdG9rZW5pemVyLzEiLAogICAgICAiaW5wdXRfbGltaXQiOiA4MDAwLAogICAgICAibWVkaWFfdHlwZXMiOiBbCiAgICAgICAgInRleHQvY3N2IiwKICAgICAgICAidGV4dC9tYXJrZG93biIKICAgICAgXSwKICAgICAgImNhcGFiaWxpdGllcyI6IFsKICAgICAgICAidGV4dCIsCiAgICAgICAgInRvb2xfY2FsbHMiCiAgICAgIF0KICAgIH0sCiAgICB7CiAgICAgICJpZCI6ICJjb21wb25lbnQtMiIsCiAgICAgICJraW5kIjogIm1vZGVsIiwKICAgICAgImlkZW50aXR5IjogImV4YW1wbGUvbW9kZWwtYSIsCiAgICAgICJ2ZXJzaW9uIjogIjEiLAogICAgICAicmV2aXNpb24iOiAic3ludGhldGljLXN0YXRlLTEiLAogICAgICAic3RhdHVzIjogImF2YWlsYWJsZSIsCiAgICAgICJtb2RlbCI6IHsKICAgICAgICAicHJvdmlkZXIiOiAiZXhhbXBsZSIsCiAgICAgICAgImlkIjogIm1vZGVsLWEiLAogICAgICAgICJyZXZpc2lvbiI6ICIxIgogICAgICB9LAogICAgICAidG9rZW5pemVyIjogImV4YW1wbGUtdG9rZW5pemVyLzEiLAogICAgICAiaW5wdXRfbGltaXQiOiA4MDAwLAogICAgICAibWVkaWFfdHlwZXMiOiBbCiAgICAgICAgInRleHQvY3N2IiwKICAgICAgICAidGV4dC9tYXJrZG93biIKICAgICAgXSwKICAgICAgImNhcGFiaWxpdGllcyI6IFsKICAgICAgICAidGV4dCIsCiAgICAgICAgInRvb2xfY2FsbHMiCiAgICAgIF0KICAgIH0sCiAgICB7CiAgICAgICJpZCI6ICJjb21wb25lbnQtMyIsCiAgICAgICJraW5kIjogImNvbmZpZ3VyYXRpb24iLAogICAgICAiaWRlbnRpdHkiOiAiZXhhbXBsZS5jb25maWd1cmF0aW9uLmVmZmVjdGl2ZSIsCiAgICAgICJ2ZXJzaW9uIjogIjEiLAogICAgICAicmV2aXNpb24iOiAic3ludGhldGljLXN0YXRlLTEiLAogICAgICAic3RhdHVzIjogImF2YWlsYWJsZSIKICAgIH0sCiAgICB7CiAgICAgICJpZCI6ICJjb21wb25lbnQtNCIsCiAgICAgICJraW5kIjogImNvbmZpZ3VyYXRpb24iLAogICAgICAiaWRlbnRpdHkiOiAiZXhhbXBsZS5pbnN0cnVjdGlvbi53b3Jrc3BhY2UtcnVsZSIsCiAgICAgICJ2ZXJzaW9uIjogIjEiLAogICAgICAicmV2aXNpb24iOiAic3ludGhldGljLXN0YXRlLTEiLAogICAgICAic3RhdHVzIjogImF2YWlsYWJsZSIKICAgIH0sCiAgICB7CiAgICAgICJpZCI6ICJjb21wb25lbnQtNSIsCiAgICAgICJraW5kIjogImNhcGFiaWxpdHkiLAogICAgICAiaWRlbnRpdHkiOiAiZXhhbXBsZS5jYXBhYmlsaXR5LnN1bW1hcnktc2tpbGwiLAogICAgICAidmVyc2lvbiI6ICIxIiwKICAgICAgInJldmlzaW9uIjogInN5bnRoZXRpYy1zdGF0ZS0xIiwKICAgICAgInN0YXR1cyI6ICJhdmFpbGFibGUiCiAgICB9LAogICAgewogICAgICAiaWQiOiAiY29tcG9uZW50LTYiLAogICAgICAia2luZCI6ICJwb2xpY3kiLAogICAgICAiaWRlbnRpdHkiOiAiZXhhbXBsZS5wb2xpY3kud29ya3NwYWNlLW9ubHkiLAogICAgICAidmVyc2lvbiI6ICIxIiwKICAgICAgInJldmlzaW9uIjogInN5bnRoZXRpYy1zdGF0ZS0xIiwKICAgICAgInN0YXR1cyI6ICJhdmFpbGFibGUiCiAgICB9LAogICAgewogICAgICAiaWQiOiAiY29tcG9uZW50LTciLAogICAgICAia2luZCI6ICJkZXBlbmRlbmN5IiwKICAgICAgImlkZW50aXR5IjogImV4YW1wbGUtYWdlbnQtYSIsCiAgICAgICJ2ZXJzaW9uIjogIjEiLAogICAgICAicmV2aXNpb24iOiAic3ludGhldGljLXN0YXRlLTEiLAogICAgICAic3RhdHVzIjogImF2YWlsYWJsZSIKICAgIH0sCiAgICB7CiAgICAgICJpZCI6ICJjb21wb25lbnQtOCIsCiAgICAgICJraW5kIjogImRlcGVuZGVuY3kiLAogICAgICAiaWRlbnRpdHkiOiAiZXhhbXBsZS5pbnZlbnRvcnkuc3VtbWFyaXplIiwKICAgICAgInZlcnNpb24iOiAiMSIsCiAgICAgICJyZXZpc2lvbiI6ICJzeW50aGV0aWMtc3RhdGUtMSIsCiAgICAgICJzdGF0dXMiOiAiYXZhaWxhYmxlIgogICAgfSwKICAgIHsKICAgICAgImlkIjogImNvbXBvbmVudC05IiwKICAgICAgImtpbmQiOiAiZGVwZW5kZW5jeSIsCiAgICAgICJpZGVudGl0eSI6ICJleGFtcGxlLmludmVudG9yeS1zdW1tYXJ5IiwKICAgICAgInZlcnNpb24iOiAiMSIsCiAgICAgICJyZXZpc2lvbiI6ICJzeW50aGV0aWMtc3RhdGUtMSIsCiAgICAgICJzdGF0dXMiOiAiYXZhaWxhYmxlIgogICAgfSwKICAgIHsKICAgICAgImlkIjogImNvbXBvbmVudC0xMCIsCiAgICAgICJraW5kIjogIndvcmtzcGFjZSIsCiAgICAgICJpZGVudGl0eSI6ICJleGFtcGxlLndvcmtzcGFjZS53b3Jrc3BhY2UtaGVhZCIsCiAgICAgICJ2ZXJzaW9uIjogIjEiLAogICAgICAicmV2aXNpb24iOiAic3ludGhldGljLXN0YXRlLTEiLAogICAgICAic3RhdHVzIjogImF2YWlsYWJsZSIsCiAgICAgICJyb290X2lkIjogInByb2plY3QiLAogICAgICAiZGVzdGluYXRpb25fcGF0aCI6ICIvd29yay9wcm9qZWN0IiwKICAgICAgImNhc2Vfc2Vuc2l0aXZlIjogdHJ1ZSwKICAgICAgInVuaWNvZGVfbm9ybWFsaXphdGlvbiI6ICJub25lIgogICAgfSwKICAgIHsKICAgICAgImlkIjogImNvbXBvbmVudC0xMSIsCiAgICAgICJraW5kIjogImVudmlyb25tZW50IiwKICAgICAgImlkZW50aXR5IjogImV4YW1wbGUuZW52aXJvbm1lbnQucHJvamVjdC1lbnYiLAogICAgICAidmVyc2lvbiI6ICIxIiwKICAgICAgInJldmlzaW9uIjogInN5bnRoZXRpYy1zdGF0ZS0xIiwKICAgICAgInN0YXR1cyI6ICJhdmFpbGFibGUiCiAgICB9LAogICAgewogICAgICAiaWQiOiAiY29tcG9uZW50LTEyIiwKICAgICAgImtpbmQiOiAibmF0aXZlX2ltcG9ydCIsCiAgICAgICJpZGVudGl0eSI6ICJleGFtcGxlLWFkYXB0ZXIiLAogICAgICAidmVyc2lvbiI6ICIxIiwKICAgICAgInJldmlzaW9uIjogInN5bnRoZXRpYy1zdGF0ZS0xIiwKICAgICAgInN0YXR1cyI6ICJhdmFpbGFibGUiCiAgICB9CiAgXQp9Cg==",
"bytes": 3895,
"evidence_id": "snapshot-inspection"
}
Evidence Object¶
Identifies the producer, time and kind of evidence supporting an assessment or execution result.
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¶
{
"id": "scenario",
"producer": "asif-examples",
"time": "2026-09-26T12:00:00Z",
"kind": "synthetic",
"detail": "Authored assumptions only. This receipt cannot authorize import or continuation."
}
Transformation Object¶
Declares a proposed or accepted adaptation, its target, rule, losses and acceptance evidence.
Fixed fields¶
| Field | Type | Required | Description |
|---|---|---|---|
id |
string | Yes | Opaque, case-sensitive identity within the object's declared scope. Minimum length: 1. |
subject |
Subject Object | Yes | Account identity or assessed subject, as defined by the containing object. |
target |
string | Yes | Declared target value, model or symbolic-link target according to context. Minimum length: 1. |
rule |
string | Yes | Explicit transformation rule rather than an implicit substitution. Minimum length: 1. |
losses |
array of string | Yes | Explicit information changes or omissions; empty means none declared. Minimum items: 0. |
accepted |
boolean | Yes | Whether the declared transformation has been accepted with the required evidence. |
evidence_ids |
array of string | Yes | IDs of evidence records supporting this 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¶
{
"id": "adapt-native_import-native",
"subject": {
"kind": "native_import",
"id": "native"
},
"target": "example-b/2",
"rule": "Create a target-native representation with mapped identities and target ordering/index rules.",
"losses": [
"Behavioral equivalence remains an explicit acceptance decision."
],
"accepted": false,
"evidence_ids": [
"scenario"
]
}
Result Object¶
Common result shape for an attempted import or continuation operation, including explanatory 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.