{
"id": "session-semantics:opencode",
"_kind": "SessionSemantics",
"_file": "lifecycle/session-semantics/opencode.yaml",
"_cluster": "lifecycle",
"attributes": {
"sessionSemanticsId": "session-semantics:opencode",
"agentId": "agent:opencode",
"versionRange": ">=0.0.0",
"sessionDirStrategy": ".a5c/runs",
"sessionIdSources": [
"AGENT_SESSION_ID",
"OPENCODE_SESSION_ID",
"OPENCODE_RUN_ID"
],
"resumeSemantics": "OpenCode uses agent session IDs with optional run IDs for shell and hook flows.",
"stateFilePatterns": [
".a5c/runs/**"
],
"pidMarkerPolicy": "env-or-run-dir",
"metadataFields": [
{
"key": "session_id",
"envVars": [
"OPENCODE_SESSION"
]
},
{
"key": "run_id",
"envVars": [
"OPENCODE_RUN_ID"
]
}
]
},
"outgoingEdges": [
{
"from": "session-semantics:opencode",
"to": "agent-version:opencode@1.x",
"kind": "applies_to_version",
"attributes": {}
},
{
"from": "session-semantics:opencode",
"to": "path:a5c-runs-dir",
"kind": "references_path",
"attributes": {}
}
],
"incomingEdges": []
}