{
  "file": "F13-bash.md",
  "bullet": "Scoped routes (`F13.scoped-routes`).",
  "ids": [
    "F13.scoped-routes"
  ],
  "line": 604,
  "script": "SC_EXEC=$(control-agent-server api POST \"<redacted:session-cookie>/$CID/bash/execute_bash_command\" \\\n  --json '{\"command\": \"echo QA_F13_SCOPED > scoped.txt; cat scoped.txt\"}' --check exit_code eq 0 \\\n  --check stdout eq $'QA_F13_SCOPED\\n' --save F13.scoped-routes/execute --field command_id)\ntest \"$(cat \"$WS1/scoped.txt\")\" = QA_F13_SCOPED\nSC_OUT=$(control-agent-server api GET \"<redacted:session-cookie>/$CID/bash/bash_events/search\" \\\n  --query command_id__eq=\"$SC_EXEC\" --check items len-eq 1 --save F13.scoped-routes/search --field items.0.id)\ncontrol-agent-server api GET \"<redacted:session-cookie>/$CID/bash/bash_events/$SC_EXEC\" \\\n  --check kind eq BashCommand --check cwd eq \"$WS1\" --save F13.scoped-routes/get\ncontrol-agent-server api GET \"<redacted:session-cookie>/$CID/bash/bash_events/\" \\\n  --json \"[\\\"$SC_OUT\\\", \\\"00000000000000000000000000000000\\\"]\" --check . len-eq 2 \\\n  --check 0.stdout eq $'QA_F13_SCOPED\\n' --check 1 missing --save F13.scoped-routes/batch\nSLP=600.$RANDOM\nBODY=\"{\\\"command\\\": \\\"sleep $SLP; echo QA_F13_NOT_REACHED\\\"}\"\nSC_LONG=$(control-agent-server api POST \"<redacted:session-cookie>/$CID/bash/start_bash_command\" --json \"$BODY\" \\\n  --check cwd eq \"$WS1\" --field id)\nfor i in $(seq 1 40); do pgrep -fx \"sleep $SLP\" > /dev/null && break; sleep 0.1; done\npgrep -fx \"sleep $SLP\"\ncontrol-agent-server api POST \"<redacted:session-cookie>/$CID/bash/bash_commands/$SC_LONG/stop\" --expect 200 \\\n  --check success eq true --save F13.scoped-routes/stop\ncontrol-agent-server api GET \"<redacted:session-cookie>/$CID/bash/bash_events/search\" --query command_id__eq=\"$SC_LONG\" \\\n  --until-ok 15 --check items len-eq 1 --check items.0.exit_code eq -15 --save F13.scoped-routes/stopped\ntest -z \"$(pgrep -fx \"sleep $SLP\" || true)\"\n",
  "exit_code": 0,
  "elapsed_ms": 18622,
  "failed_line": null,
  "failed_command": null,
  "stdout": "{\n  \"ok\": true,\n  \"status\": 200,\n  \"request\": {\n    \"method\": \"GET\",\n    \"path\": \"<redacted:session-cookie>/3c1b7548-f8bb-4a4d-9bb2-1b88e7da357d/bash/bash_events/ce6299febe934963a4a7a559037542dd\",\n    \"query\": [],\n    \"auth\": \"header\",\n    \"body\": null,\n    \"files\": []\n  },\n  \"response\": {\n    \"status\": 200,\n    \"headers\": {\n      \"content-length\": \"288\",\n      \"content-type\": \"application/json\"\n    },\n    \"body\": {\n      \"command\": \"echo QA_F13_SCOPED > scoped.txt; cat scoped.txt\",\n      \"cwd\": \"/workspace/verification-artifacts/runs/20261013-021707-182d-map-f13/fixtures/workspaces/021713-545458\",\n      \"timeout\": 300,\n      \"id\": \"ce6299febe934963a4a7a559037542dd\",\n      \"timestamp\": \"2026-10-13T02:20:27.535481Z\",\n      \"kind\": \"BashCommand\"\n    },\n    \"truncated\": false\n  },\n  \"elapsed_ms\": 381,\n  \"checks\": [\n    {\n      \"check\": \"kind eq BashCommand\",\n      \"ok\": true,\n      \"actual\": \"BashCommand\"\n    },\n    {\n      \"check\": \"cwd eq /workspace/verification-artifacts/runs/20261013-021707-182d-map-f13/fixtures/workspaces/021713-545458\",\n      \"ok\": true,\n      \"actual\": \"/workspace/verification-artifacts/runs/20261013-021707-182d-map-f13/fixtures/workspaces/021713-545458\"\n    }\n  ],\n  \"saved\": \"/workspace/verification-artifacts/runs/20261013-021707-182d-map-f13/evidence/F13.scoped-routes/get.json\"\n}\n{\n  \"ok\": true,\n  \"status\": 200,\n  \"request\": {\n    \"method\": \"GET\",\n    \"path\": \"<redacted:session-cookie>/3c1b7548-f8bb-4a4d-9bb2-1b88e7da357d/bash/bash_events/\",\n    \"query\": [],\n    \"auth\": \"header\",\n    \"body\": [\n      \"dbfdb826f88745c3a9ef85fe8b8b6803\",\n      \"00000000000000000000000000000000\"\n    ],\n    \"files\": []\n  },\n  \"response\": {\n    \"status\": 200,\n    \"headers\": {\n      \"content-length\": \"223\",\n      \"content-type\": \"application/json\"\n    },\n    \"body\": [\n      {\n        \"id\": \"dbfdb826f88745c3a9ef85fe8b8b6803\",\n        \"timestamp\": \"2026-10-13T02:20:27.653160Z\",\n        \"command_id\": \"ce6299febe934963a4a7a559037542dd\",\n        \"order\": 0,\n        \"exit_code\": 0,\n        \"stdout\": \"QA_F13_SCOPED\\n\",\n        \"stderr\": null,\n        \"kind\": \"BashOutput\"\n      },\n      null\n    ],\n    \"truncated\": false\n  },\n  \"elapsed_ms\": 350,\n  \"checks\": [\n    {\n      \"check\": \". len-eq 2\",\n      \"ok\": true,\n      \"actual\": \"[{\\\"id\\\": \\\"dbfdb826f88745c3a9ef85fe8b8b6803\\\", \\\"timestamp\\\": \\\"2026-10-13T02:20:27.653160Z\\\", \\\"command_id\\\": \\\"ce6299febe934963a4a7a559037542dd\\\", \\\"order\\\": 0, \\\"exit_code\\\": 0, \\\"stdout\\\": \\\"QA_F13_SCOPED\\\\n\\\", \\\"stde\\u2026\"\n    },\n    {\n      \"check\": \"0.stdout eq QA_F13_SCOPED\\n\",\n      \"ok\": true,\n      \"actual\": \"QA_F13_SCOPED\\n\"\n    },\n    {\n      \"check\": \"1 missing\",\n      \"ok\": true,\n      \"actual\": \"null\"\n    }\n  ],\n  \"saved\": \"/workspace/verification-artifacts/runs/20261013-021707-182d-map-f13/evidence/F13.scoped-routes/batch.json\"\n}\n10312\n{\n  \"ok\": true,\n  \"status\": 200,\n  \"request\": {\n    \"method\": \"POST\",\n    \"path\": \"<redacted:session-cookie>/3c1b7548-f8bb-4a4d-9bb2-1b88e7da357d/bash/bash_commands/ed822568d54c4af1a54ddf36cba5d5e8/stop\",\n    \"query\": [],\n    \"auth\": \"header\",\n    \"body\": null,\n    \"files\": []\n  },\n  \"response\": {\n    \"status\": 200,\n    \"headers\": {\n      \"content-length\": \"16\",\n      \"content-type\": \"application/json\"\n    },\n    \"body\": {\n      \"success\": true\n    },\n    \"truncated\": false\n  },\n  \"elapsed_ms\": 420,\n  \"checks\": [\n    {\n      \"check\": \"success eq true\",\n      \"ok\": true,\n      \"actual\": \"true\"\n    }\n  ],\n  \"saved\": \"/workspace/verification-artifacts/runs/20261013-021707-182d-map-f13/evidence/F13.scoped-routes/stop.json\"\n}\n{\n  \"ok\": true,\n  \"status\": 200,\n  \"request\": {\n    \"method\": \"GET\",\n    \"path\": \"<redacted:session-cookie>/3c1b7548-f8bb-4a4d-9bb2-1b88e7da357d/bash/bash_events/search\",\n    \"query\": [\n      [\n        \"command_id__eq\",\n        \"ed822568d54c4af1a54ddf36cba5d5e8\"\n      ]\n    ],\n    \"auth\": \"header\",\n    \"body\": null,\n    \"files\": []\n  },\n  \"response\": {\n    \"status\": 200,\n    \"headers\": {\n      \"content-length\": \"237\",\n      \"content-type\": \"application/json\"\n    },\n    \"body\": {\n      \"items\": [\n        {\n          \"id\": \"60a45dc94e514727a8da2485abe7690a\",\n          \"timestamp\": \"2026-10-13T02:20:40.762218Z\",\n          \"command_id\": \"ed822568d54c4af1a54ddf36cba5d5e8\",\n          \"order\": 0,\n          \"exit_code\": -15,\n          \"stdout\": null,\n          \"stderr\": null,\n          \"kind\": \"BashOutput\"\n        }\n      ],\n      \"next_page_id\": null\n    },\n    \"truncated\": false\n  },\n  \"elapsed_ms\": 426,\n  \"checks\": [\n    {\n      \"check\": \"items len-eq 1\",\n      \"ok\": true,\n      \"actual\": \"[{\\\"id\\\": \\\"60a45dc94e514727a8da2485abe7690a\\\", \\\"timestamp\\\": \\\"2026-10-13T02:20:40.762218Z\\\", \\\"command_id\\\": \\\"ed822568d54c4af1a54ddf36cba5d5e8\\\", \\\"order\\\": 0, \\\"exit_code\\\": -15, \\\"stdout\\\": null, \\\"stderr\\\": null, \\u2026\"\n    },\n    {\n      \"check\": \"items.0.exit_code eq -15\",\n      \"ok\": true,\n      \"actual\": \"-15\"\n    }\n  ],\n  \"attempts\": 1,\n  \"saved\": \"/workspace/verification-artifacts/runs/20261013-021707-182d-map-f13/evidence/F13.scoped-routes/stopped.json\"\n}\n",
  "stderr": ""
}
