{
"id": "session-semantics:claude-code",
"_kind": "SessionSemantics",
"_file": "lifecycle/session-semantics/claude-code.yaml",
"_cluster": "lifecycle",
"attributes": {
"sessionSemanticsId": "session-semantics:claude-code",
"agentId": "agent:claude-code",
"versionRange": ">=0.0.0",
"sessionDirStrategy": ".a5c/runs",
"sessionIdSources": [
"CLAUDE_ENV_FILE",
"CLAUDE_CODE_SESSION_ID"
],
"resumeSemantics": "Session binding is mediated by Claude env files plus a shared `.a5c/runs/`\ndirectory. The harness drops a pid marker in the run dir on spawn; resume\nrebinds by matching `CLAUDE_CODE_SESSION_ID` (or, on restart, `CLAUDE_ENV_FILE`).\n",
"stateFilePatterns": [
".a5c/runs/**"
],
"pidMarkerPolicy": "env-or-run-dir",
"metadataFields": [
{
"key": "session_id",
"envVars": [
"CLAUDE_CODE_SESSION_ID"
]
},
{
"key": "env_file",
"envVars": [
"CLAUDE_ENV_FILE"
]
},
{
"key": "project_dir",
"envVars": [
"CLAUDE_PROJECT_DIR"
]
}
]
},
"outgoingEdges": [
{
"from": "session-semantics:claude-code",
"to": "agent-version:claude-code@1.x",
"kind": "applies_to_version",
"attributes": {}
},
{
"from": "session-semantics:claude-code",
"to": "path:a5c-runs-dir",
"kind": "references_path",
"attributes": {}
}
],
"incomingEdges": []
}