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.
- 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
An expiring assessment bound to exact source bytes and a particular destination. Synthetic reports cannot claim execution.
| 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. |
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.
{
"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."
}
}Binds this report to a source session, capture, continuation plan and exact document digest.
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.
{
"session_id": "session-pending-remote-operation",
"capture_id": "capture-pending-remote-operation",
"plan_id": "continue-main",
"document_sha256": "dc12ec7e916d78633e33355378f998f90097d6cc569eb04d93878c53df778187"
}Identifies the assessed destination runtime and the digest of its capability snapshot.
| 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. |
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.
{
"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"
}
}Maps one logical root to a destination path and declares the destination's path comparison 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.
{
"root_id": "project",
"destination_path": "/work/project",
"case_sensitive": true,
"unicode_normalization": "none"
}Records an explicit mapping of a source entity identity into the destination namespace.
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.
{
"entity_type": "native_session",
"source_id": "source-native",
"target_id": "source-native",
"target_namespace": "example-cloud-runtime"
}Reports the target model and measured or unknown context fit, including reserved output capacity.
| 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". |
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.
{
"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"
}Explains a subject-specific condition preventing the selected continuation plan from being ready.
| 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. |
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.
{
"subject": {
"kind": "service",
"id": "publisher-service"
},
"reason": "Remote outcome or destination login must be verified before any continuation."
}Records whether native import was attempted and the evidence for its outcome.
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.
{
"status": "not_attempted",
"evidence_ids": [],
"detail": "No import was executed."
}Records whether continuation was tested and the evidence for its outcome.
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.
{
"status": "not_tested",
"evidence_ids": [],
"detail": "No agent was started."
}Identifies the agent, adapter and operating platform involved in a continuation assessment.
| 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. |
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.
{
"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"
}Names the adapter implementation and version used to interpret native state.
| 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. |
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.
{
"id": "example-a-to-b",
"version": "1"
}Names an agent implementation, version and native state format.
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.
{
"id": "example-agent-b",
"version": "2",
"state_format": "example-b/2"
}Identifies a model provider, model ID and optional known revision without assuming equivalence to another model.
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.
{
"provider": "example",
"id": "model-a",
"revision": "1"
}Identifies the exact entity or capability being assessed, including its owner where IDs are scoped.
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.
{
"kind": "resource",
"id": "report"
}Records support, adaptation or a blocker for one subject, with evidence and any resolved binding.
| 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. |
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.
{
"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": []
}Destination dependency, service, operation recovery or core requirement binding, checked against its source declaration.
| 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. |
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.
{}Identifies the resolved destination account for comparison with the expected service account.
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.
{
"provider": "example",
"subject": "account-A"
}Identifies the exact remote operation being reconciled; must match its source namespace and identity.
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.
{
"namespace": "example.jobs/account-A",
"value": "job-42"
}A destination component with identity, revision, availability and kind-specific facts. Its revision is an opaque non-secret token, not a digest.
| 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. |
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.
{
"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"
]
}Immutable, versioned destination state declarations, hashed over their exact supplied JSON bytes.
| 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. |
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.
{
"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"
}
]
}Supplies exact snapshot bytes and links their observation evidence; unavailable evidence cannot establish report validity.
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.
{
"format": "asif.destination-capabilities/0.1",
"availability": "supplied",
"data": "ewogICJzbmFwc2hvdF92ZXJzaW9uIjogIjAuMSIsCiAgImlkIjogInNuYXBzaG90LWFzc2Vzc21lbnQtYW5vdGhlci1jb21wdXRlciIsCiAgImRlc3RpbmF0aW9uX2lkIjogImV4YW1wbGUtY2xvdWQtcnVudGltZSIsCiAgInByb2R1Y2VyIjogImFzaWYtZXhhbXBsZXMiLAogICJldmFsdWF0aW9uX21vZGUiOiAic3ludGhldGljIiwKICAib2JzZXJ2ZWRfYXQiOiAiMjAyNi0wOS0yNlQxMjowMDowMFoiLAogICJleHBpcmVzX2F0IjogIjIwMjYtMDktMjZUMTM6MDA6MDBaIiwKICAicnVudGltZSI6IHsKICAgICJhZ2VudCI6IHsKICAgICAgImlkIjogImV4YW1wbGUtYWdlbnQtYSIsCiAgICAgICJ2ZXJzaW9uIjogIjEiLAogICAgICAic3RhdGVfZm9ybWF0IjogImV4YW1wbGUtbmF0aXZlLzEiCiAgICB9LAogICAgImFkYXB0ZXIiOiB7CiAgICAgICJpZCI6ICJleGFtcGxlLWFkYXB0ZXIiLAogICAgICAidmVyc2lvbiI6ICIxIgogICAgfSwKICAgICJvcyI6ICJsaW51eCIsCiAgICAiYXJjaGl0ZWN0dXJlIjogIng4Nl82NCIKICB9LAogICJydW50aW1lX3JldmlzaW9uIjogInN5bnRoZXRpYy1ydW50aW1lLTEiLAogICJzdXBwb3J0ZWRfZmVhdHVyZXMiOiBbCiAgICAiYXNpZi5wb3J0YWJsZS1jb250aW51YXRpb24vMC4yIgogIF0sCiAgImNvbXBvbmVudHMiOiBbCiAgICB7CiAgICAgICJpZCI6ICJjb21wb25lbnQtMSIsCiAgICAgICJraW5kIjogIm1vZGVsIiwKICAgICAgImlkZW50aXR5IjogImV4YW1wbGUvbW9kZWwtYSIsCiAgICAgICJ2ZXJzaW9uIjogIjEiLAogICAgICAicmV2aXNpb24iOiAic3ludGhldGljLXN0YXRlLTEiLAogICAgICAic3RhdHVzIjogImF2YWlsYWJsZSIsCiAgICAgICJtb2RlbCI6IHsKICAgICAgICAicHJvdmlkZXIiOiAiZXhhbXBsZSIsCiAgICAgICAgImlkIjogIm1vZGVsLWEiLAogICAgICAgICJyZXZpc2lvbiI6ICIxIgogICAgICB9LAogICAgICAidG9rZW5pemVyIjogImV4YW1wbGUtdG9rZW5pemVyLzEiLAogICAgICAiaW5wdXRfbGltaXQiOiA4MDAwLAogICAgICAibWVkaWFfdHlwZXMiOiBbCiAgICAgICAgInRleHQvY3N2IiwKICAgICAgICAidGV4dC9tYXJrZG93biIKICAgICAgXSwKICAgICAgImNhcGFiaWxpdGllcyI6IFsKICAgICAgICAidGV4dCIsCiAgICAgICAgInRvb2xfY2FsbHMiCiAgICAgIF0KICAgIH0sCiAgICB7CiAgICAgICJpZCI6ICJjb21wb25lbnQtMiIsCiAgICAgICJraW5kIjogIm1vZGVsIiwKICAgICAgImlkZW50aXR5IjogImV4YW1wbGUvbW9kZWwtYSIsCiAgICAgICJ2ZXJzaW9uIjogIjEiLAogICAgICAicmV2aXNpb24iOiAic3ludGhldGljLXN0YXRlLTEiLAogICAgICAic3RhdHVzIjogImF2YWlsYWJsZSIsCiAgICAgICJtb2RlbCI6IHsKICAgICAgICAicHJvdmlkZXIiOiAiZXhhbXBsZSIsCiAgICAgICAgImlkIjogIm1vZGVsLWEiLAogICAgICAgICJyZXZpc2lvbiI6ICIxIgogICAgICB9LAogICAgICAidG9rZW5pemVyIjogImV4YW1wbGUtdG9rZW5pemVyLzEiLAogICAgICAiaW5wdXRfbGltaXQiOiA4MDAwLAogICAgICAibWVkaWFfdHlwZXMiOiBbCiAgICAgICAgInRleHQvY3N2IiwKICAgICAgICAidGV4dC9tYXJrZG93biIKICAgICAgXSwKICAgICAgImNhcGFiaWxpdGllcyI6IFsKICAgICAgICAidGV4dCIsCiAgICAgICAgInRvb2xfY2FsbHMiCiAgICAgIF0KICAgIH0sCiAgICB7CiAgICAgICJpZCI6ICJjb21wb25lbnQtMyIsCiAgICAgICJraW5kIjogImNvbmZpZ3VyYXRpb24iLAogICAgICAiaWRlbnRpdHkiOiAiZXhhbXBsZS5jb25maWd1cmF0aW9uLmVmZmVjdGl2ZSIsCiAgICAgICJ2ZXJzaW9uIjogIjEiLAogICAgICAicmV2aXNpb24iOiAic3ludGhldGljLXN0YXRlLTEiLAogICAgICAic3RhdHVzIjogImF2YWlsYWJsZSIKICAgIH0sCiAgICB7CiAgICAgICJpZCI6ICJjb21wb25lbnQtNCIsCiAgICAgICJraW5kIjogImNvbmZpZ3VyYXRpb24iLAogICAgICAiaWRlbnRpdHkiOiAiZXhhbXBsZS5pbnN0cnVjdGlvbi53b3Jrc3BhY2UtcnVsZSIsCiAgICAgICJ2ZXJzaW9uIjogIjEiLAogICAgICAicmV2aXNpb24iOiAic3ludGhldGljLXN0YXRlLTEiLAogICAgICAic3RhdHVzIjogImF2YWlsYWJsZSIKICAgIH0sCiAgICB7CiAgICAgICJpZCI6ICJjb21wb25lbnQtNSIsCiAgICAgICJraW5kIjogImNhcGFiaWxpdHkiLAogICAgICAiaWRlbnRpdHkiOiAiZXhhbXBsZS5jYXBhYmlsaXR5LnN1bW1hcnktc2tpbGwiLAogICAgICAidmVyc2lvbiI6ICIxIiwKICAgICAgInJldmlzaW9uIjogInN5bnRoZXRpYy1zdGF0ZS0xIiwKICAgICAgInN0YXR1cyI6ICJhdmFpbGFibGUiCiAgICB9LAogICAgewogICAgICAiaWQiOiAiY29tcG9uZW50LTYiLAogICAgICAia2luZCI6ICJwb2xpY3kiLAogICAgICAiaWRlbnRpdHkiOiAiZXhhbXBsZS5wb2xpY3kud29ya3NwYWNlLW9ubHkiLAogICAgICAidmVyc2lvbiI6ICIxIiwKICAgICAgInJldmlzaW9uIjogInN5bnRoZXRpYy1zdGF0ZS0xIiwKICAgICAgInN0YXR1cyI6ICJhdmFpbGFibGUiCiAgICB9LAogICAgewogICAgICAiaWQiOiAiY29tcG9uZW50LTciLAogICAgICAia2luZCI6ICJkZXBlbmRlbmN5IiwKICAgICAgImlkZW50aXR5IjogImV4YW1wbGUtYWdlbnQtYSIsCiAgICAgICJ2ZXJzaW9uIjogIjEiLAogICAgICAicmV2aXNpb24iOiAic3ludGhldGljLXN0YXRlLTEiLAogICAgICAic3RhdHVzIjogImF2YWlsYWJsZSIKICAgIH0sCiAgICB7CiAgICAgICJpZCI6ICJjb21wb25lbnQtOCIsCiAgICAgICJraW5kIjogImRlcGVuZGVuY3kiLAogICAgICAiaWRlbnRpdHkiOiAiZXhhbXBsZS5pbnZlbnRvcnkuc3VtbWFyaXplIiwKICAgICAgInZlcnNpb24iOiAiMSIsCiAgICAgICJyZXZpc2lvbiI6ICJzeW50aGV0aWMtc3RhdGUtMSIsCiAgICAgICJzdGF0dXMiOiAiYXZhaWxhYmxlIgogICAgfSwKICAgIHsKICAgICAgImlkIjogImNvbXBvbmVudC05IiwKICAgICAgImtpbmQiOiAiZGVwZW5kZW5jeSIsCiAgICAgICJpZGVudGl0eSI6ICJleGFtcGxlLmludmVudG9yeS1zdW1tYXJ5IiwKICAgICAgInZlcnNpb24iOiAiMSIsCiAgICAgICJyZXZpc2lvbiI6ICJzeW50aGV0aWMtc3RhdGUtMSIsCiAgICAgICJzdGF0dXMiOiAiYXZhaWxhYmxlIgogICAgfSwKICAgIHsKICAgICAgImlkIjogImNvbXBvbmVudC0xMCIsCiAgICAgICJraW5kIjogIndvcmtzcGFjZSIsCiAgICAgICJpZGVudGl0eSI6ICJleGFtcGxlLndvcmtzcGFjZS53b3Jrc3BhY2UtaGVhZCIsCiAgICAgICJ2ZXJzaW9uIjogIjEiLAogICAgICAicmV2aXNpb24iOiAic3ludGhldGljLXN0YXRlLTEiLAogICAgICAic3RhdHVzIjogImF2YWlsYWJsZSIsCiAgICAgICJyb290X2lkIjogInByb2plY3QiLAogICAgICAiZGVzdGluYXRpb25fcGF0aCI6ICIvd29yay9wcm9qZWN0IiwKICAgICAgImNhc2Vfc2Vuc2l0aXZlIjogdHJ1ZSwKICAgICAgInVuaWNvZGVfbm9ybWFsaXphdGlvbiI6ICJub25lIgogICAgfSwKICAgIHsKICAgICAgImlkIjogImNvbXBvbmVudC0xMSIsCiAgICAgICJraW5kIjogImVudmlyb25tZW50IiwKICAgICAgImlkZW50aXR5IjogImV4YW1wbGUuZW52aXJvbm1lbnQucHJvamVjdC1lbnYiLAogICAgICAidmVyc2lvbiI6ICIxIiwKICAgICAgInJldmlzaW9uIjogInN5bnRoZXRpYy1zdGF0ZS0xIiwKICAgICAgInN0YXR1cyI6ICJhdmFpbGFibGUiCiAgICB9LAogICAgewogICAgICAiaWQiOiAiY29tcG9uZW50LTEyIiwKICAgICAgImtpbmQiOiAibmF0aXZlX2ltcG9ydCIsCiAgICAgICJpZGVudGl0eSI6ICJleGFtcGxlLWFkYXB0ZXIiLAogICAgICAidmVyc2lvbiI6ICIxIiwKICAgICAgInJldmlzaW9uIjogInN5bnRoZXRpYy1zdGF0ZS0xIiwKICAgICAgInN0YXR1cyI6ICJhdmFpbGFibGUiCiAgICB9CiAgXQp9Cg==",
"bytes": 3895,
"evidence_id": "snapshot-inspection"
}Identifies the producer, time and kind of evidence supporting an assessment or execution result.
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.
{
"id": "scenario",
"producer": "asif-examples",
"time": "2026-09-26T12:00:00Z",
"kind": "synthetic",
"detail": "Authored assumptions only. This receipt cannot authorize import or continuation."
}Declares a proposed or accepted adaptation, its target, rule, losses and acceptance evidence.
| 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. |
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.
{
"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"
]
}Common result shape for an attempted import or continuation operation, including explanatory evidence.
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.
{
"status": "not_tested",
"evidence_ids": [],
"detail": "No agent was started."
}