II.
TestableClaim JSON
Structured · liveclaim:no-hooks-in-turn-loop
No hooks in turn loop json
Inspect the normalized record payload exactly as the atlas UI reads it.
{
"id": "claim:no-hooks-in-turn-loop",
"_kind": "TestableClaim",
"_file": "domain/testable-claims/claims.yaml",
"_cluster": "domain",
"attributes": {
"displayName": "No hooks in turn loop",
"description": "When hooks are unavailable, orchestrator drives loop in-turn — if\nthe hooks-adapter is not configured or not reachable, the orchestration\nfalls back to a synchronous in-turn loop without hook callbacks.\n",
"testStatus": "passing",
"testType": "integration",
"testCommand": "node -e \"const fs=require('fs'),p=require('path');function walk(d){let r=[];try{for(const e of fs.readdirSync(d,{withFileTypes:true})){const f=p.join(d,e.name);if(e.isDirectory()&&e.name!=='node_modules')r=r.concat(walk(f));else if(e.name.endsWith('.ts'))r.push(f)}}catch{}return r}const files=walk('packages/babysitter-sdk/src');const content=files.map(f=>fs.readFileSync(f,'utf8')).join('');process.exit(content.match(/no.hooks|hookStatus/)?0:1)\"",
"category": "behavior",
"priority": "medium"
},
"outgoingEdges": [
{
"from": "claim:no-hooks-in-turn-loop",
"to": "domain:software-engineering",
"kind": "asserts_about"
}
],
"incomingEdges": [
{
"from": "experiment:orchestrator-behavior-claims",
"to": "claim:no-hooks-in-turn-loop",
"kind": "tests_claim"
}
]
}