Workflow verification incomplete
This receipt shows the requests we made, what the app reported back, and which checks passed or failed. It covers what ran in this sandbox session against the rules we set.
Failing
Each check was set up before the run. This shows what we tried, what came back, and which rule it was checked against.
This receipt covers the checks in this run only. Passing all checks does not certify the whole app as production-ready.
Test scenarios
A change request is checked and its outcome posted to operations
baselineWhat we probed
A change request is checked and its outcome posted to operations
How we probed it
Frozen intended probe steps. Recorded requests show what actually ran.
POST /invocations
Expected vs actual
- Expected
- A change request is checked and its outcome posted to operations
- Actual
- expected exactly 1, found 1; stable under 2 repeats (1)
Requests and responses
01GET /verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/baseline/runs200
We sent
GET /verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/baseline/runs
This request had no body.
Server returned
HTTP 200
{
"runs": []
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/baseline/runs
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "application/json",
"content-length": "11"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/baseline/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
02POST /invocations200
We sent
POST /invocations
{
"action": "start",
"runId": "baseline-vr_55bd8d33c1bb4538a9936780cce0d10a",
"input": {
"changeId": "CHG-baseline",
"repo": "acme/checkout",
"pullRequest": 4,
"service": {
"name": "checkout",
"pagerdutyServiceId": "PSVC123",
"monitorIds": [],
"errorRateQuery": "sum:checkout.errors{*}.as_rate()"
},
"type": "standard",
"opsChannel": "C0PLATFORM1",
"approvers": [
"U_CAB_1",
"U_CAB_2"
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"fs_case": "baseline"
}
}Server returned
HTTP 200
{
"runId": "baseline-vr_55bd8d33c1bb4538a9936780cce0d10a",
"workflow": "change-management-gate",
"metadata": {
"organization": "Acme",
"company": "Acme Corporation",
"environment": "unconfigured",
"owner": "unassigned",
"department": "unassigned",
"ownerTeam": "unassigned",
"oncall": "unassigned",
"version": "unversioned",
"sourceCommit": "unrecorded"
},
"org": "Engineering",
"team": "platform-ops",
"phase": "DONE",
"closed": true,
"outcome": "partial",
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"fs_case": "baseline"
},
"duplicateStarts": 0,
"agents": [
{
"name": "change-check",
"status": "failed",
"error": "github 404 EGeneral:Unknown method: GET /repos/acme/checkout/pulls/4/reviews → 404 EGeneral:Unknown method",
"errorCode": "github:EGeneral:Unknown method",
"durationMs": 342
},
{
"name": "ops-check",
"status": "ok",
"summary": "0 high-urgency incident(s), 0 monitor(s) alerting",
"durationMs": 340
},
{
"name": "gate",
"status": "ok",
"summary": "blocked: the pull request could not be read",
"durationMs": 0
}
],
"actions": [
{
"id": "slack.post_change:blocked",
"kind": "slack.post_change",
"provider": "slack",
"agent": "gate",
"gate": "auto",
"status": "applied",
"summary": {
"channel": "C0PLATFORM1"
},
"attempts": 1,
"ref": "17NIQTXFGS.H03DA8",
"appliedAt": "2026-10-22T20:10:38.973Z",
"reconciled": null
}
],
"counts": {
"applied": 1,
"failed": 0,
"pendingApproval": 0,
"skipped": 0,
"rejected": 0,
"scheduled": 0,
"awaitingSignal": 0,
"compensated": 0
},
"wakeAt": null,
"audit": {
"seq": 4,
"head": "76d295c94f03f7ee7cc339b33d30c8cb6d158e8d9041d90be228dba6884a922a"
},
"output": {
"mode": "blocked",
"reasons": [
"the pull request could not be read"
]
},
"events": [
{
"at": "2026-10-22T20:10:38.496Z",
"msg": "started by U_FETCHSANDBOX"
},
{
"at": "2026-10-22T20:10:38.853Z",
"msg": "agents: change-check=failed, ops-check=ok"
},
{
"at": "2026-10-22T20:10:38.857Z",
"msg": "planned 1 action(s): 0 need approval"
},
{
"at": "2026-10-22T20:10:38.974Z",
"msg": "slack.post_change:blocked: applied"
},
{
"at": "2026-10-22T20:10:38.975Z",
"msg": "done (partial)"
}
],
"createdAt": "2026-10-22T20:10:38.496Z",
"updatedAt": "2026-10-22T20:10:38.976Z",
"duplicate": false
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/invocations
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]",
"content-length": "477",
"content-type": "application/json"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request POST 'https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/invocations' \
--header 'accept: */*' \
--header 'user-agent: python-httpx/0.28.1' \
--header 'host: fetchsandbox.com' \
--header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \
--header 'x-fetchsandbox-relay: [redacted]' \
--header 'authorization: [redacted]' \
--header 'content-type: application/json' \
--data-raw '{
"action": "start",
"runId": "baseline-vr_55bd8d33c1bb4538a9936780cce0d10a",
"input": {
"changeId": "CHG-baseline",
"repo": "acme/checkout",
"pullRequest": 4,
"service": {
"name": "checkout",
"pagerdutyServiceId": "PSVC123",
"monitorIds": [],
"errorRateQuery": "sum:checkout.errors{*}.as_rate()"
},
"type": "standard",
"opsChannel": "C0PLATFORM1",
"approvers": [
"U_CAB_1",
"U_CAB_2"
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"fs_case": "baseline"
}
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
03GET /verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/baseline/runs200
We sent
GET /verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/baseline/runs
This request had no body.
Server returned
HTTP 200
{
"runs": [
{
"runId": "baseline-vr_55bd8d33c1bb4538a9936780cce0d10a",
"workflow": "change-management-gate",
"metadata": {
"organization": "Acme",
"company": "Acme Corporation",
"environment": "unconfigured",
"owner": "unassigned",
"department": "unassigned",
"ownerTeam": "unassigned",
"oncall": "unassigned",
"version": "unversioned",
"sourceCommit": "unrecorded"
},
"org": "Engineering",
"team": "platform-ops",
"phase": "DONE",
"closed": true,
"outcome": "partial",
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"fs_case": "baseline"
},
"duplicateStarts": 0,
"agents": [
{
"name": "change-check",
"status": "failed",
"error": "github 404 EGeneral:Unknown method: GET /repos/acme/checkout/pulls/4/reviews → 404 EGeneral:Unknown method",
"errorCode": "github:EGeneral:Unknown method",
"durationMs": 342
},
{
"name": "ops-check",
"status": "ok",
"summary": "0 high-urgency incident(s), 0 monitor(s) alerting",
"durationMs": 340
},
{
"name": "gate",
"status": "ok",
"summary": "blocked: the pull request could not be read",
"durationMs": 0
}
],
"actions": [
{
"id": "slack.post_change:blocked",
"kind": "slack.post_change",
"provider": "slack",
"agent": "gate",
"gate": "auto",
"status": "applied",
"summary": {
"channel": "C0PLATFORM1"
},
"attempts": 1,
"ref": "17NIQTXFGS.H03DA8",
"appliedAt": "2026-10-22T20:10:38.973Z",
"reconciled": null
}
],
"counts": {
"applied": 1,
"failed": 0,
"pendingApproval": 0,
"skipped": 0,
"rejected": 0,
"scheduled": 0,
"awaitingSignal": 0,
"compensated": 0
},
"wakeAt": null,
"audit": {
"seq": 4,
"head": "76d295c94f03f7ee7cc339b33d30c8cb6d158e8d9041d90be228dba6884a922a"
},
"output": {
"mode": "blocked",
"reasons": [
"the pull request could not be read"
]
},
"events": [
{
"at": "2026-10-22T20:10:38.496Z",
"msg": "started by U_FETCHSANDBOX"
},
{
"at": "2026-10-22T20:10:38.853Z",
"msg": "agents: change-check=failed, ops-check=ok"
},
{
"at": "2026-10-22T20:10:38.857Z",
"msg": "planned 1 action(s): 0 need approval"
},
{
"at": "2026-10-22T20:10:38.974Z",
"msg": "slack.post_change:blocked: applied"
},
{
"at": "2026-10-22T20:10:38.975Z",
"msg": "done (partial)"
}
],
"createdAt": "2026-10-22T20:10:38.496Z",
"updatedAt": "2026-10-22T20:10:38.976Z"
}
]
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/baseline/runs
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/baseline/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
04POST /invocations200
We sent
POST /invocations
{
"action": "start",
"runId": "baseline-vr_55bd8d33c1bb4538a9936780cce0d10a",
"input": {
"changeId": "CHG-baseline",
"repo": "acme/checkout",
"pullRequest": 4,
"service": {
"name": "checkout",
"pagerdutyServiceId": "PSVC123",
"monitorIds": [],
"errorRateQuery": "sum:checkout.errors{*}.as_rate()"
},
"type": "standard",
"opsChannel": "C0PLATFORM1",
"approvers": [
"U_CAB_1",
"U_CAB_2"
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"fs_case": "baseline"
}
}Server returned
HTTP 200
{
"runId": "baseline-vr_55bd8d33c1bb4538a9936780cce0d10a",
"workflow": "change-management-gate",
"metadata": {
"organization": "Acme",
"company": "Acme Corporation",
"environment": "unconfigured",
"owner": "unassigned",
"department": "unassigned",
"ownerTeam": "unassigned",
"oncall": "unassigned",
"version": "unversioned",
"sourceCommit": "unrecorded"
},
"org": "Engineering",
"team": "platform-ops",
"phase": "DONE",
"closed": true,
"outcome": "partial",
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"fs_case": "baseline"
},
"duplicateStarts": 1,
"agents": [
{
"name": "change-check",
"status": "failed",
"error": "github 404 EGeneral:Unknown method: GET /repos/acme/checkout/pulls/4/reviews → 404 EGeneral:Unknown method",
"errorCode": "github:EGeneral:Unknown method",
"durationMs": 342
},
{
"name": "ops-check",
"status": "ok",
"summary": "0 high-urgency incident(s), 0 monitor(s) alerting",
"durationMs": 340
},
{
"name": "gate",
"status": "ok",
"summary": "blocked: the pull request could not be read",
"durationMs": 0
}
],
"actions": [
{
"id": "slack.post_change:blocked",
"kind": "slack.post_change",
"provider": "slack",
"agent": "gate",
"gate": "auto",
"status": "applied",
"summary": {
"channel": "C0PLATFORM1"
},
"attempts": 1,
"ref": "17NIQTXFGS.H03DA8",
"appliedAt": "2026-10-22T20:10:38.973Z",
"reconciled": null
}
],
"counts": {
"applied": 1,
"failed": 0,
"pendingApproval": 0,
"skipped": 0,
"rejected": 0,
"scheduled": 0,
"awaitingSignal": 0,
"compensated": 0
},
"wakeAt": null,
"audit": {
"seq": 5,
"head": "4f97c162280ea9d7a6e27481a2abc5a199d2bb9916c28e44ab8ce930c5a4b959"
},
"output": {
"mode": "blocked",
"reasons": [
"the pull request could not be read"
]
},
"events": [
{
"at": "2026-10-22T20:10:38.496Z",
"msg": "started by U_FETCHSANDBOX"
},
{
"at": "2026-10-22T20:10:38.853Z",
"msg": "agents: change-check=failed, ops-check=ok"
},
{
"at": "2026-10-22T20:10:38.857Z",
"msg": "planned 1 action(s): 0 need approval"
},
{
"at": "2026-10-22T20:10:38.974Z",
"msg": "slack.post_change:blocked: applied"
},
{
"at": "2026-10-22T20:10:38.975Z",
"msg": "done (partial)"
},
{
"at": "2026-10-22T20:10:39.534Z",
"msg": "duplicate start ignored"
}
],
"createdAt": "2026-10-22T20:10:38.496Z",
"updatedAt": "2026-10-22T20:10:39.534Z",
"duplicate": true
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/invocations
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]",
"content-length": "477",
"content-type": "application/json"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request POST 'https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/invocations' \
--header 'accept: */*' \
--header 'user-agent: python-httpx/0.28.1' \
--header 'host: fetchsandbox.com' \
--header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \
--header 'x-fetchsandbox-relay: [redacted]' \
--header 'authorization: [redacted]' \
--header 'content-type: application/json' \
--data-raw '{
"action": "start",
"runId": "baseline-vr_55bd8d33c1bb4538a9936780cce0d10a",
"input": {
"changeId": "CHG-baseline",
"repo": "acme/checkout",
"pullRequest": 4,
"service": {
"name": "checkout",
"pagerdutyServiceId": "PSVC123",
"monitorIds": [],
"errorRateQuery": "sum:checkout.errors{*}.as_rate()"
},
"type": "standard",
"opsChannel": "C0PLATFORM1",
"approvers": [
"U_CAB_1",
"U_CAB_2"
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"fs_case": "baseline"
}
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
05GET /verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/baseline/runs200
We sent
GET /verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/baseline/runs
This request had no body.
Server returned
HTTP 200
{
"runs": [
{
"runId": "baseline-vr_55bd8d33c1bb4538a9936780cce0d10a",
"workflow": "change-management-gate",
"metadata": {
"organization": "Acme",
"company": "Acme Corporation",
"environment": "unconfigured",
"owner": "unassigned",
"department": "unassigned",
"ownerTeam": "unassigned",
"oncall": "unassigned",
"version": "unversioned",
"sourceCommit": "unrecorded"
},
"org": "Engineering",
"team": "platform-ops",
"phase": "DONE",
"closed": true,
"outcome": "partial",
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"fs_case": "baseline"
},
"duplicateStarts": 1,
"agents": [
{
"name": "change-check",
"status": "failed",
"error": "github 404 EGeneral:Unknown method: GET /repos/acme/checkout/pulls/4/reviews → 404 EGeneral:Unknown method",
"errorCode": "github:EGeneral:Unknown method",
"durationMs": 342
},
{
"name": "ops-check",
"status": "ok",
"summary": "0 high-urgency incident(s), 0 monitor(s) alerting",
"durationMs": 340
},
{
"name": "gate",
"status": "ok",
"summary": "blocked: the pull request could not be read",
"durationMs": 0
}
],
"actions": [
{
"id": "slack.post_change:blocked",
"kind": "slack.post_change",
"provider": "slack",
"agent": "gate",
"gate": "auto",
"status": "applied",
"summary": {
"channel": "C0PLATFORM1"
},
"attempts": 1,
"ref": "17NIQTXFGS.H03DA8",
"appliedAt": "2026-10-22T20:10:38.973Z",
"reconciled": null
}
],
"counts": {
"applied": 1,
"failed": 0,
"pendingApproval": 0,
"skipped": 0,
"rejected": 0,
"scheduled": 0,
"awaitingSignal": 0,
"compensated": 0
},
"wakeAt": null,
"audit": {
"seq": 5,
"head": "4f97c162280ea9d7a6e27481a2abc5a199d2bb9916c28e44ab8ce930c5a4b959"
},
"output": {
"mode": "blocked",
"reasons": [
"the pull request could not be read"
]
},
"events": [
{
"at": "2026-10-22T20:10:38.496Z",
"msg": "started by U_FETCHSANDBOX"
},
{
"at": "2026-10-22T20:10:38.853Z",
"msg": "agents: change-check=failed, ops-check=ok"
},
{
"at": "2026-10-22T20:10:38.857Z",
"msg": "planned 1 action(s): 0 need approval"
},
{
"at": "2026-10-22T20:10:38.974Z",
"msg": "slack.post_change:blocked: applied"
},
{
"at": "2026-10-22T20:10:38.975Z",
"msg": "done (partial)"
},
{
"at": "2026-10-22T20:10:39.534Z",
"msg": "duplicate start ignored"
}
],
"createdAt": "2026-10-22T20:10:38.496Z",
"updatedAt": "2026-10-22T20:10:39.534Z"
}
]
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/baseline/runs
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/baseline/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Evidence
- Run
vr_55bd8d33c1bb4538a9936780cce0d10a- App version (declared)
acme-ops-change-management-g…- Source receipt
- Source receipt ↗
Technical reference
baselineApp version (declared): acme-ops-change-management-gate-1.0.0-06c2f09
A change request is checked and its outcome posted to operations
expected exactly 1, found 1; stable under 2 repeats (1)
- Verification covers the declared HTTP actions and state reads in this run.
- The app version shown was supplied by the app itself, not independently checked.
- Passing all checks in this run does not certify the whole app as production-ready.
- The verifier session does not survive a restart. This says nothing about the durability of the app under test.
- App state shown here is what the app's own endpoint reported. It is not independently checked against the database.
Provider traffic in the same time window (4)
These calls were recorded during the same request window as this check but are not directly linked to it. Timing alone is not proof that they caused or were caused by this check.
github · GET /repos/acme/checkout/pulls/4 · HTTP 200
We sent
GET /repos/acme/checkout/pulls/4
No body shown for this read.
Server returned
HTTP 200
{
"id": 25,
"number": 4,
"title": "Fix checkout rounding",
"body": null,
"state": "open",
"head": "fix-rounding",
"base": "main",
"draft": true,
"merged": false,
"mergeable": true,
"additions": 84,
"deletions": 55,
"changed_files": 76,
"created_at": "2026-10-22T20:09:25.589171+00:00",
"updated_at": "2026-10-22T20:09:25.589196+00:00",
"merged_at": null
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/3de250868c/repos/acme/checkout/pulls/4
{
"host": "fetchsandbox.com",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a"
}Response headers were not saved in this run.
Rebuilt curl
curl --request GET 'https://fetchsandbox.com/sandbox/3de250868c/repos/acme/checkout/pulls/4' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
github · GET /repos/acme/checkout/pulls/4/reviews · HTTP 404
We sent
GET /repos/acme/checkout/pulls/4/reviews
No body shown for this read.
Server returned
HTTP 404
{
"errors": [
{
"status": "404",
"code": "EGeneral:Unknown method",
"detail": "No route matches GET /repos/acme/checkout/pulls/4/reviews"
}
]
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/3de250868c/repos/acme/checkout/pulls/4/reviews
{
"host": "fetchsandbox.com",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a"
}Response headers were not saved in this run.
Rebuilt curl
curl --request GET 'https://fetchsandbox.com/sandbox/3de250868c/repos/acme/checkout/pulls/4/reviews' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
pagerduty · GET /incidents · HTTP 200
We sent
GET /incidents
No body shown for this read.
Server returned
HTTP 200
{
"ending_before": "sample-value",
"filters": {
"created_at_end": "2023-06-01T00:00:00-04:00",
"created_at_start": "2023-05-01T00:00:00-04:00",
"incident_type_ids": [
"PIJ90N7",
"PKL73Z2"
],
"major": true,
"priority_ids": [
"PITMC5Y",
"PEHBBT8",
"PB8QADI"
],
"priority_names": [
"P1",
"P2",
"P3"
],
"service_ids": [
"PC8O0L3",
"PX01HJD",
"P5FK83M"
],
"team_ids": [
"P373JQQ",
"PAECHJV",
"P7SYGW6"
],
"updated_after": "sample-value",
"urgency": "high"
},
"limit": 20,
"order": "asc",
"order_by": "created_at",
"starting_after": "sample-value",
"time_zone": "UTC",
"name": "Sample Incident 1",
"responder_id": "9686c801-360b-4156-8901-94f5fd939dad"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/c91902cec7/incidents
{
"host": "fetchsandbox.com",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a"
}Response headers were not saved in this run.
Rebuilt curl
curl --request GET 'https://fetchsandbox.com/sandbox/c91902cec7/incidents' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
slack · POST /api/chat.postMessage · HTTP 200
We sent
POST /api/chat.postMessage
{
"channel": "C0PLATFORM1",
"text": ":no_entry: CHG-baseline (acme/checkout#4) blocked: the pull request could not be read.",
"unfurl_links": false,
"unfurl_media": false
}Server returned
HTTP 200
{
"channel": "C0PLATFORM1",
"message": {
"bot_id": "bot_90bb61dfaa4f4df7b4320a25ea",
"client_msg_id": "cli_6abd6183970a4c038f5b5995f3",
"name": "item-fc3ea2",
"old_name": "Sample Old",
"parent_user_id": "par_30be9932b46b4590b62d0b5161",
"permalink": "my-resource",
"reply_count": 0,
"reply_users_count": 0,
"text": "Sample text content",
"ts": "sample-value",
"type": "default",
"unread_count": 0,
"username": "acme-corp"
},
"ok": true,
"ts": "17NIQTXFGS.H03DA8"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/a097942801/api/chat.postMessage
{
"host": "fetchsandbox.com",
"content-length": "163",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"content-type": "application/json; charset=utf-8"
}Response headers were not saved in this run.
Rebuilt curl
curl --request POST 'https://fetchsandbox.com/sandbox/a097942801/api/chat.postMessage' \
--header 'host: fetchsandbox.com' \
--header 'user-agent: node' \
--header 'accept: application/json' \
--header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \
--header 'content-type: application/json; charset=utf-8' \
--data-raw '{
"channel": "C0PLATFORM1",
"text": ":no_entry: CHG-baseline (acme/checkout#4) blocked: the pull request could not be read.",
"unfurl_links": false,
"unfurl_media": false
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
The pull request, its reviews and check runs are read from GitHub
change_facts_readWhat we probed
The pull request, its reviews and check runs are read from GitHub
How we probed it
Frozen intended probe steps. Recorded requests show what actually ran.
POST /invocations
Expected vs actual
- Expected
- The pull request, its reviews and check runs are read from GitHub
- Actual
- expected exactly 1, found 0; stable under 2 repeats (0)
Requests and responses
01GET /verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/change_facts_read/runs200
We sent
GET /verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/change_facts_read/runs
This request had no body.
Server returned
HTTP 200
{
"runs": []
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/change_facts_read/runs
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "application/json",
"content-length": "11"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/change_facts_read/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
02POST /invocations200
We sent
POST /invocations
{
"action": "start",
"runId": "change-facts-read-vr_55bd8d33c1bb4538a9936780cce0d10a",
"input": {
"changeId": "CHG-change-facts-read",
"repo": "acme/checkout",
"pullRequest": 4,
"service": {
"name": "checkout",
"pagerdutyServiceId": "PSVC123",
"monitorIds": [],
"errorRateQuery": "sum:checkout.errors{*}.as_rate()"
},
"type": "standard",
"opsChannel": "C0PLATFORM1",
"approvers": [
"U_CAB_1",
"U_CAB_2"
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"fs_case": "change_facts_read"
}
}Server returned
HTTP 200
{
"runId": "change-facts-read-vr_55bd8d33c1bb4538a9936780cce0d10a",
"workflow": "change-management-gate",
"metadata": {
"organization": "Acme",
"company": "Acme Corporation",
"environment": "unconfigured",
"owner": "unassigned",
"department": "unassigned",
"ownerTeam": "unassigned",
"oncall": "unassigned",
"version": "unversioned",
"sourceCommit": "unrecorded"
},
"org": "Engineering",
"team": "platform-ops",
"phase": "DONE",
"closed": true,
"outcome": "partial",
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"fs_case": "change_facts_read"
},
"duplicateStarts": 0,
"agents": [
{
"name": "change-check",
"status": "failed",
"error": "github 404 EGeneral:Unknown method: GET /repos/acme/checkout/pulls/4/reviews → 404 EGeneral:Unknown method",
"errorCode": "github:EGeneral:Unknown method",
"durationMs": 336
},
{
"name": "ops-check",
"status": "ok",
"summary": "0 high-urgency incident(s), 0 monitor(s) alerting",
"durationMs": 152
},
{
"name": "gate",
"status": "ok",
"summary": "blocked: the pull request could not be read",
"durationMs": 0
}
],
"actions": [
{
"id": "slack.post_change:blocked",
"kind": "slack.post_change",
"provider": "slack",
"agent": "gate",
"gate": "auto",
"status": "applied",
"summary": {
"channel": "C0PLATFORM1"
},
"attempts": 1,
"ref": "17B1HIJJ75.NSNJ85",
"appliedAt": "2026-10-22T20:10:40.829Z",
"reconciled": null
}
],
"counts": {
"applied": 1,
"failed": 0,
"pendingApproval": 0,
"skipped": 0,
"rejected": 0,
"scheduled": 0,
"awaitingSignal": 0,
"compensated": 0
},
"wakeAt": null,
"audit": {
"seq": 4,
"head": "8dde910a0c99e836629f3600f33a01f73fd3b6c49557fa641f7f667b009d7825"
},
"output": {
"mode": "blocked",
"reasons": [
"the pull request could not be read"
]
},
"events": [
{
"at": "2026-10-22T20:10:40.319Z",
"msg": "started by U_FETCHSANDBOX"
},
{
"at": "2026-10-22T20:10:40.656Z",
"msg": "agents: change-check=failed, ops-check=ok"
},
{
"at": "2026-10-22T20:10:40.661Z",
"msg": "planned 1 action(s): 0 need approval"
},
{
"at": "2026-10-22T20:10:40.829Z",
"msg": "slack.post_change:blocked: applied"
},
{
"at": "2026-10-22T20:10:40.833Z",
"msg": "done (partial)"
}
],
"createdAt": "2026-10-22T20:10:40.319Z",
"updatedAt": "2026-10-22T20:10:40.833Z",
"duplicate": false
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/invocations
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]",
"content-length": "504",
"content-type": "application/json"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request POST 'https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/invocations' \
--header 'accept: */*' \
--header 'user-agent: python-httpx/0.28.1' \
--header 'host: fetchsandbox.com' \
--header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \
--header 'x-fetchsandbox-relay: [redacted]' \
--header 'authorization: [redacted]' \
--header 'content-type: application/json' \
--data-raw '{
"action": "start",
"runId": "change-facts-read-vr_55bd8d33c1bb4538a9936780cce0d10a",
"input": {
"changeId": "CHG-change-facts-read",
"repo": "acme/checkout",
"pullRequest": 4,
"service": {
"name": "checkout",
"pagerdutyServiceId": "PSVC123",
"monitorIds": [],
"errorRateQuery": "sum:checkout.errors{*}.as_rate()"
},
"type": "standard",
"opsChannel": "C0PLATFORM1",
"approvers": [
"U_CAB_1",
"U_CAB_2"
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"fs_case": "change_facts_read"
}
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
03GET /verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/change_facts_read/runs200
We sent
GET /verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/change_facts_read/runs
This request had no body.
Server returned
HTTP 200
{
"runs": [
{
"runId": "change-facts-read-vr_55bd8d33c1bb4538a9936780cce0d10a",
"workflow": "change-management-gate",
"metadata": {
"organization": "Acme",
"company": "Acme Corporation",
"environment": "unconfigured",
"owner": "unassigned",
"department": "unassigned",
"ownerTeam": "unassigned",
"oncall": "unassigned",
"version": "unversioned",
"sourceCommit": "unrecorded"
},
"org": "Engineering",
"team": "platform-ops",
"phase": "DONE",
"closed": true,
"outcome": "partial",
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"fs_case": "change_facts_read"
},
"duplicateStarts": 0,
"agents": [
{
"name": "change-check",
"status": "failed",
"error": "github 404 EGeneral:Unknown method: GET /repos/acme/checkout/pulls/4/reviews → 404 EGeneral:Unknown method",
"errorCode": "github:EGeneral:Unknown method",
"durationMs": 336
},
{
"name": "ops-check",
"status": "ok",
"summary": "0 high-urgency incident(s), 0 monitor(s) alerting",
"durationMs": 152
},
{
"name": "gate",
"status": "ok",
"summary": "blocked: the pull request could not be read",
"durationMs": 0
}
],
"actions": [
{
"id": "slack.post_change:blocked",
"kind": "slack.post_change",
"provider": "slack",
"agent": "gate",
"gate": "auto",
"status": "applied",
"summary": {
"channel": "C0PLATFORM1"
},
"attempts": 1,
"ref": "17B1HIJJ75.NSNJ85",
"appliedAt": "2026-10-22T20:10:40.829Z",
"reconciled": null
}
],
"counts": {
"applied": 1,
"failed": 0,
"pendingApproval": 0,
"skipped": 0,
"rejected": 0,
"scheduled": 0,
"awaitingSignal": 0,
"compensated": 0
},
"wakeAt": null,
"audit": {
"seq": 4,
"head": "8dde910a0c99e836629f3600f33a01f73fd3b6c49557fa641f7f667b009d7825"
},
"output": {
"mode": "blocked",
"reasons": [
"the pull request could not be read"
]
},
"events": [
{
"at": "2026-10-22T20:10:40.319Z",
"msg": "started by U_FETCHSANDBOX"
},
{
"at": "2026-10-22T20:10:40.656Z",
"msg": "agents: change-check=failed, ops-check=ok"
},
{
"at": "2026-10-22T20:10:40.661Z",
"msg": "planned 1 action(s): 0 need approval"
},
{
"at": "2026-10-22T20:10:40.829Z",
"msg": "slack.post_change:blocked: applied"
},
{
"at": "2026-10-22T20:10:40.833Z",
"msg": "done (partial)"
}
],
"createdAt": "2026-10-22T20:10:40.319Z",
"updatedAt": "2026-10-22T20:10:40.833Z"
}
]
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/change_facts_read/runs
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/change_facts_read/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
04POST /invocations200
We sent
POST /invocations
{
"action": "start",
"runId": "change-facts-read-vr_55bd8d33c1bb4538a9936780cce0d10a",
"input": {
"changeId": "CHG-change-facts-read",
"repo": "acme/checkout",
"pullRequest": 4,
"service": {
"name": "checkout",
"pagerdutyServiceId": "PSVC123",
"monitorIds": [],
"errorRateQuery": "sum:checkout.errors{*}.as_rate()"
},
"type": "standard",
"opsChannel": "C0PLATFORM1",
"approvers": [
"U_CAB_1",
"U_CAB_2"
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"fs_case": "change_facts_read"
}
}Server returned
HTTP 200
{
"runId": "change-facts-read-vr_55bd8d33c1bb4538a9936780cce0d10a",
"workflow": "change-management-gate",
"metadata": {
"organization": "Acme",
"company": "Acme Corporation",
"environment": "unconfigured",
"owner": "unassigned",
"department": "unassigned",
"ownerTeam": "unassigned",
"oncall": "unassigned",
"version": "unversioned",
"sourceCommit": "unrecorded"
},
"org": "Engineering",
"team": "platform-ops",
"phase": "DONE",
"closed": true,
"outcome": "partial",
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"fs_case": "change_facts_read"
},
"duplicateStarts": 1,
"agents": [
{
"name": "change-check",
"status": "failed",
"error": "github 404 EGeneral:Unknown method: GET /repos/acme/checkout/pulls/4/reviews → 404 EGeneral:Unknown method",
"errorCode": "github:EGeneral:Unknown method",
"durationMs": 336
},
{
"name": "ops-check",
"status": "ok",
"summary": "0 high-urgency incident(s), 0 monitor(s) alerting",
"durationMs": 152
},
{
"name": "gate",
"status": "ok",
"summary": "blocked: the pull request could not be read",
"durationMs": 0
}
],
"actions": [
{
"id": "slack.post_change:blocked",
"kind": "slack.post_change",
"provider": "slack",
"agent": "gate",
"gate": "auto",
"status": "applied",
"summary": {
"channel": "C0PLATFORM1"
},
"attempts": 1,
"ref": "17B1HIJJ75.NSNJ85",
"appliedAt": "2026-10-22T20:10:40.829Z",
"reconciled": null
}
],
"counts": {
"applied": 1,
"failed": 0,
"pendingApproval": 0,
"skipped": 0,
"rejected": 0,
"scheduled": 0,
"awaitingSignal": 0,
"compensated": 0
},
"wakeAt": null,
"audit": {
"seq": 5,
"head": "9c5b0118ef50aadc088c0ed71ff9a045362ff52bdab929138dea1157aefa0c5c"
},
"output": {
"mode": "blocked",
"reasons": [
"the pull request could not be read"
]
},
"events": [
{
"at": "2026-10-22T20:10:40.319Z",
"msg": "started by U_FETCHSANDBOX"
},
{
"at": "2026-10-22T20:10:40.656Z",
"msg": "agents: change-check=failed, ops-check=ok"
},
{
"at": "2026-10-22T20:10:40.661Z",
"msg": "planned 1 action(s): 0 need approval"
},
{
"at": "2026-10-22T20:10:40.829Z",
"msg": "slack.post_change:blocked: applied"
},
{
"at": "2026-10-22T20:10:40.833Z",
"msg": "done (partial)"
},
{
"at": "2026-10-22T20:10:41.416Z",
"msg": "duplicate start ignored"
}
],
"createdAt": "2026-10-22T20:10:40.319Z",
"updatedAt": "2026-10-22T20:10:41.416Z",
"duplicate": true
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/invocations
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]",
"content-length": "504",
"content-type": "application/json"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request POST 'https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/invocations' \
--header 'accept: */*' \
--header 'user-agent: python-httpx/0.28.1' \
--header 'host: fetchsandbox.com' \
--header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \
--header 'x-fetchsandbox-relay: [redacted]' \
--header 'authorization: [redacted]' \
--header 'content-type: application/json' \
--data-raw '{
"action": "start",
"runId": "change-facts-read-vr_55bd8d33c1bb4538a9936780cce0d10a",
"input": {
"changeId": "CHG-change-facts-read",
"repo": "acme/checkout",
"pullRequest": 4,
"service": {
"name": "checkout",
"pagerdutyServiceId": "PSVC123",
"monitorIds": [],
"errorRateQuery": "sum:checkout.errors{*}.as_rate()"
},
"type": "standard",
"opsChannel": "C0PLATFORM1",
"approvers": [
"U_CAB_1",
"U_CAB_2"
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"fs_case": "change_facts_read"
}
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
05GET /verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/change_facts_read/runs200
We sent
GET /verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/change_facts_read/runs
This request had no body.
Server returned
HTTP 200
{
"runs": [
{
"runId": "change-facts-read-vr_55bd8d33c1bb4538a9936780cce0d10a",
"workflow": "change-management-gate",
"metadata": {
"organization": "Acme",
"company": "Acme Corporation",
"environment": "unconfigured",
"owner": "unassigned",
"department": "unassigned",
"ownerTeam": "unassigned",
"oncall": "unassigned",
"version": "unversioned",
"sourceCommit": "unrecorded"
},
"org": "Engineering",
"team": "platform-ops",
"phase": "DONE",
"closed": true,
"outcome": "partial",
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"fs_case": "change_facts_read"
},
"duplicateStarts": 1,
"agents": [
{
"name": "change-check",
"status": "failed",
"error": "github 404 EGeneral:Unknown method: GET /repos/acme/checkout/pulls/4/reviews → 404 EGeneral:Unknown method",
"errorCode": "github:EGeneral:Unknown method",
"durationMs": 336
},
{
"name": "ops-check",
"status": "ok",
"summary": "0 high-urgency incident(s), 0 monitor(s) alerting",
"durationMs": 152
},
{
"name": "gate",
"status": "ok",
"summary": "blocked: the pull request could not be read",
"durationMs": 0
}
],
"actions": [
{
"id": "slack.post_change:blocked",
"kind": "slack.post_change",
"provider": "slack",
"agent": "gate",
"gate": "auto",
"status": "applied",
"summary": {
"channel": "C0PLATFORM1"
},
"attempts": 1,
"ref": "17B1HIJJ75.NSNJ85",
"appliedAt": "2026-10-22T20:10:40.829Z",
"reconciled": null
}
],
"counts": {
"applied": 1,
"failed": 0,
"pendingApproval": 0,
"skipped": 0,
"rejected": 0,
"scheduled": 0,
"awaitingSignal": 0,
"compensated": 0
},
"wakeAt": null,
"audit": {
"seq": 5,
"head": "9c5b0118ef50aadc088c0ed71ff9a045362ff52bdab929138dea1157aefa0c5c"
},
"output": {
"mode": "blocked",
"reasons": [
"the pull request could not be read"
]
},
"events": [
{
"at": "2026-10-22T20:10:40.319Z",
"msg": "started by U_FETCHSANDBOX"
},
{
"at": "2026-10-22T20:10:40.656Z",
"msg": "agents: change-check=failed, ops-check=ok"
},
{
"at": "2026-10-22T20:10:40.661Z",
"msg": "planned 1 action(s): 0 need approval"
},
{
"at": "2026-10-22T20:10:40.829Z",
"msg": "slack.post_change:blocked: applied"
},
{
"at": "2026-10-22T20:10:40.833Z",
"msg": "done (partial)"
},
{
"at": "2026-10-22T20:10:41.416Z",
"msg": "duplicate start ignored"
}
],
"createdAt": "2026-10-22T20:10:40.319Z",
"updatedAt": "2026-10-22T20:10:41.416Z"
}
]
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/change_facts_read/runs
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/change_facts_read/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Evidence
- Run
vr_55bd8d33c1bb4538a9936780cce0d10a- App version (declared)
acme-ops-change-management-g…- Source receipt
- Source receipt ↗
Technical reference
change_facts_readApp version (declared): acme-ops-change-management-gate-1.0.0-06c2f09
The pull request, its reviews and check runs are read from GitHub
expected exactly 1, found 0; stable under 2 repeats (0)
- Verification covers the declared HTTP actions and state reads in this run.
- The app version shown was supplied by the app itself, not independently checked.
- Passing all checks in this run does not certify the whole app as production-ready.
- The verifier session does not survive a restart. This says nothing about the durability of the app under test.
- App state shown here is what the app's own endpoint reported. It is not independently checked against the database.
Provider traffic in the same time window (4)
These calls were recorded during the same request window as this check but are not directly linked to it. Timing alone is not proof that they caused or were caused by this check.
github · GET /repos/acme/checkout/pulls/4 · HTTP 200
We sent
GET /repos/acme/checkout/pulls/4
No body shown for this read.
Server returned
HTTP 200
{
"id": 25,
"number": 4,
"title": "Fix checkout rounding",
"body": null,
"state": "open",
"head": "fix-rounding",
"base": "main",
"draft": true,
"merged": false,
"mergeable": true,
"additions": 84,
"deletions": 55,
"changed_files": 76,
"created_at": "2026-10-22T20:09:25.589171+00:00",
"updated_at": "2026-10-22T20:09:25.589196+00:00",
"merged_at": null
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/3de250868c/repos/acme/checkout/pulls/4
{
"host": "fetchsandbox.com",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a"
}Response headers were not saved in this run.
Rebuilt curl
curl --request GET 'https://fetchsandbox.com/sandbox/3de250868c/repos/acme/checkout/pulls/4' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
pagerduty · GET /incidents · HTTP 200
We sent
GET /incidents
No body shown for this read.
Server returned
HTTP 200
{
"ending_before": "sample-value",
"filters": {
"created_at_end": "2023-06-01T00:00:00-04:00",
"created_at_start": "2023-05-01T00:00:00-04:00",
"incident_type_ids": [
"PIJ90N7",
"PKL73Z2"
],
"major": true,
"priority_ids": [
"PITMC5Y",
"PEHBBT8",
"PB8QADI"
],
"priority_names": [
"P1",
"P2",
"P3"
],
"service_ids": [
"PC8O0L3",
"PX01HJD",
"P5FK83M"
],
"team_ids": [
"P373JQQ",
"PAECHJV",
"P7SYGW6"
],
"updated_after": "sample-value",
"urgency": "high"
},
"limit": 20,
"order": "asc",
"order_by": "created_at",
"starting_after": "sample-value",
"time_zone": "UTC",
"name": "Sample Incident 1",
"responder_id": "9686c801-360b-4156-8901-94f5fd939dad"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/c91902cec7/incidents
{
"host": "fetchsandbox.com",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a"
}Response headers were not saved in this run.
Rebuilt curl
curl --request GET 'https://fetchsandbox.com/sandbox/c91902cec7/incidents' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
github · GET /repos/acme/checkout/pulls/4/reviews · HTTP 404
We sent
GET /repos/acme/checkout/pulls/4/reviews
No body shown for this read.
Server returned
HTTP 404
{
"errors": [
{
"status": "404",
"code": "EGeneral:Unknown method",
"detail": "No route matches GET /repos/acme/checkout/pulls/4/reviews"
}
]
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/3de250868c/repos/acme/checkout/pulls/4/reviews
{
"host": "fetchsandbox.com",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a"
}Response headers were not saved in this run.
Rebuilt curl
curl --request GET 'https://fetchsandbox.com/sandbox/3de250868c/repos/acme/checkout/pulls/4/reviews' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
slack · POST /api/chat.postMessage · HTTP 200
We sent
POST /api/chat.postMessage
{
"channel": "C0PLATFORM1",
"text": ":no_entry: CHG-change-facts-read (acme/checkout#4) blocked: the pull request could not be read.",
"unfurl_links": false,
"unfurl_media": false
}Server returned
HTTP 200
{
"channel": "C0PLATFORM1",
"message": {
"bot_id": "bot_f680e39e533748ffacd41d007f",
"client_msg_id": "cli_2d94dfb24a5c4947a7cf4ec7e7",
"name": "item-5345f2",
"old_name": "Sample Old",
"parent_user_id": "par_63c36a4600d14fffb8b8e14176",
"permalink": "my-resource",
"reply_count": 0,
"reply_users_count": 0,
"text": "Sample text content",
"ts": "sample-value",
"type": "default",
"unread_count": 0,
"username": "acme-corp"
},
"ok": true,
"ts": "17B1HIJJ75.NSNJ85"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/a097942801/api/chat.postMessage
{
"host": "fetchsandbox.com",
"content-length": "172",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"content-type": "application/json; charset=utf-8"
}Response headers were not saved in this run.
Rebuilt curl
curl --request POST 'https://fetchsandbox.com/sandbox/a097942801/api/chat.postMessage' \
--header 'host: fetchsandbox.com' \
--header 'user-agent: node' \
--header 'accept: application/json' \
--header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \
--header 'content-type: application/json; charset=utf-8' \
--data-raw '{
"channel": "C0PLATFORM1",
"text": ":no_entry: CHG-change-facts-read (acme/checkout#4) blocked: the pull request could not be read.",
"unfurl_links": false,
"unfurl_media": false
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Open incidents (PagerDuty) and monitor states (Datadog) are read
ops_facts_readWhat we probed
Open incidents (PagerDuty) and monitor states (Datadog) are read
How we probed it
Frozen intended probe steps. Recorded requests show what actually ran.
POST /invocations
Expected vs actual
- Expected
- Open incidents (PagerDuty) and monitor states (Datadog) are read
- Actual
- expected exactly 1, found 1; stable under 2 repeats (1)
Requests and responses
01GET /verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/ops_facts_read/runs200
We sent
GET /verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/ops_facts_read/runs
This request had no body.
Server returned
HTTP 200
{
"runs": []
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/ops_facts_read/runs
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "application/json",
"content-length": "11"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/ops_facts_read/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
02POST /invocations200
We sent
POST /invocations
{
"action": "start",
"runId": "ops-facts-read-vr_55bd8d33c1bb4538a9936780cce0d10a",
"input": {
"changeId": "CHG-ops-facts-read",
"repo": "acme/checkout",
"pullRequest": 4,
"service": {
"name": "checkout",
"pagerdutyServiceId": "PSVC123",
"monitorIds": [],
"errorRateQuery": "sum:checkout.errors{*}.as_rate()"
},
"type": "standard",
"opsChannel": "C0PLATFORM1",
"approvers": [
"U_CAB_1",
"U_CAB_2"
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"fs_case": "ops_facts_read"
}
}Server returned
HTTP 200
{
"runId": "ops-facts-read-vr_55bd8d33c1bb4538a9936780cce0d10a",
"workflow": "change-management-gate",
"metadata": {
"organization": "Acme",
"company": "Acme Corporation",
"environment": "unconfigured",
"owner": "unassigned",
"department": "unassigned",
"ownerTeam": "unassigned",
"oncall": "unassigned",
"version": "unversioned",
"sourceCommit": "unrecorded"
},
"org": "Engineering",
"team": "platform-ops",
"phase": "DONE",
"closed": true,
"outcome": "partial",
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"fs_case": "ops_facts_read"
},
"duplicateStarts": 0,
"agents": [
{
"name": "change-check",
"status": "failed",
"error": "github 404 EGeneral:Unknown method: GET /repos/acme/checkout/pulls/4/reviews → 404 EGeneral:Unknown method",
"errorCode": "github:EGeneral:Unknown method",
"durationMs": 223
},
{
"name": "ops-check",
"status": "ok",
"summary": "0 high-urgency incident(s), 0 monitor(s) alerting",
"durationMs": 137
},
{
"name": "gate",
"status": "ok",
"summary": "blocked: the pull request could not be read",
"durationMs": 0
}
],
"actions": [
{
"id": "slack.post_change:blocked",
"kind": "slack.post_change",
"provider": "slack",
"agent": "gate",
"gate": "auto",
"status": "applied",
"summary": {
"channel": "C0PLATFORM1"
},
"attempts": 1,
"ref": "17S356H63L.OIZ2PK",
"appliedAt": "2026-10-22T20:10:42.561Z",
"reconciled": null
}
],
"counts": {
"applied": 1,
"failed": 0,
"pendingApproval": 0,
"skipped": 0,
"rejected": 0,
"scheduled": 0,
"awaitingSignal": 0,
"compensated": 0
},
"wakeAt": null,
"audit": {
"seq": 4,
"head": "cf08000fd643296f2bc8cd40606879232863cf248f0f301b4dd2cfcf445e9f59"
},
"output": {
"mode": "blocked",
"reasons": [
"the pull request could not be read"
]
},
"events": [
{
"at": "2026-10-22T20:10:42.212Z",
"msg": "started by U_FETCHSANDBOX"
},
{
"at": "2026-10-22T20:10:42.436Z",
"msg": "agents: change-check=failed, ops-check=ok"
},
{
"at": "2026-10-22T20:10:42.439Z",
"msg": "planned 1 action(s): 0 need approval"
},
{
"at": "2026-10-22T20:10:42.561Z",
"msg": "slack.post_change:blocked: applied"
},
{
"at": "2026-10-22T20:10:42.563Z",
"msg": "done (partial)"
}
],
"createdAt": "2026-10-22T20:10:42.212Z",
"updatedAt": "2026-10-22T20:10:42.563Z",
"duplicate": false
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/invocations
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]",
"content-length": "495",
"content-type": "application/json"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request POST 'https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/invocations' \
--header 'accept: */*' \
--header 'user-agent: python-httpx/0.28.1' \
--header 'host: fetchsandbox.com' \
--header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \
--header 'x-fetchsandbox-relay: [redacted]' \
--header 'authorization: [redacted]' \
--header 'content-type: application/json' \
--data-raw '{
"action": "start",
"runId": "ops-facts-read-vr_55bd8d33c1bb4538a9936780cce0d10a",
"input": {
"changeId": "CHG-ops-facts-read",
"repo": "acme/checkout",
"pullRequest": 4,
"service": {
"name": "checkout",
"pagerdutyServiceId": "PSVC123",
"monitorIds": [],
"errorRateQuery": "sum:checkout.errors{*}.as_rate()"
},
"type": "standard",
"opsChannel": "C0PLATFORM1",
"approvers": [
"U_CAB_1",
"U_CAB_2"
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"fs_case": "ops_facts_read"
}
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
03GET /verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/ops_facts_read/runs200
We sent
GET /verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/ops_facts_read/runs
This request had no body.
Server returned
HTTP 200
{
"runs": [
{
"runId": "ops-facts-read-vr_55bd8d33c1bb4538a9936780cce0d10a",
"workflow": "change-management-gate",
"metadata": {
"organization": "Acme",
"company": "Acme Corporation",
"environment": "unconfigured",
"owner": "unassigned",
"department": "unassigned",
"ownerTeam": "unassigned",
"oncall": "unassigned",
"version": "unversioned",
"sourceCommit": "unrecorded"
},
"org": "Engineering",
"team": "platform-ops",
"phase": "DONE",
"closed": true,
"outcome": "partial",
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"fs_case": "ops_facts_read"
},
"duplicateStarts": 0,
"agents": [
{
"name": "change-check",
"status": "failed",
"error": "github 404 EGeneral:Unknown method: GET /repos/acme/checkout/pulls/4/reviews → 404 EGeneral:Unknown method",
"errorCode": "github:EGeneral:Unknown method",
"durationMs": 223
},
{
"name": "ops-check",
"status": "ok",
"summary": "0 high-urgency incident(s), 0 monitor(s) alerting",
"durationMs": 137
},
{
"name": "gate",
"status": "ok",
"summary": "blocked: the pull request could not be read",
"durationMs": 0
}
],
"actions": [
{
"id": "slack.post_change:blocked",
"kind": "slack.post_change",
"provider": "slack",
"agent": "gate",
"gate": "auto",
"status": "applied",
"summary": {
"channel": "C0PLATFORM1"
},
"attempts": 1,
"ref": "17S356H63L.OIZ2PK",
"appliedAt": "2026-10-22T20:10:42.561Z",
"reconciled": null
}
],
"counts": {
"applied": 1,
"failed": 0,
"pendingApproval": 0,
"skipped": 0,
"rejected": 0,
"scheduled": 0,
"awaitingSignal": 0,
"compensated": 0
},
"wakeAt": null,
"audit": {
"seq": 4,
"head": "cf08000fd643296f2bc8cd40606879232863cf248f0f301b4dd2cfcf445e9f59"
},
"output": {
"mode": "blocked",
"reasons": [
"the pull request could not be read"
]
},
"events": [
{
"at": "2026-10-22T20:10:42.212Z",
"msg": "started by U_FETCHSANDBOX"
},
{
"at": "2026-10-22T20:10:42.436Z",
"msg": "agents: change-check=failed, ops-check=ok"
},
{
"at": "2026-10-22T20:10:42.439Z",
"msg": "planned 1 action(s): 0 need approval"
},
{
"at": "2026-10-22T20:10:42.561Z",
"msg": "slack.post_change:blocked: applied"
},
{
"at": "2026-10-22T20:10:42.563Z",
"msg": "done (partial)"
}
],
"createdAt": "2026-10-22T20:10:42.212Z",
"updatedAt": "2026-10-22T20:10:42.563Z"
}
]
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/ops_facts_read/runs
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/ops_facts_read/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
04POST /invocations200
We sent
POST /invocations
{
"action": "start",
"runId": "ops-facts-read-vr_55bd8d33c1bb4538a9936780cce0d10a",
"input": {
"changeId": "CHG-ops-facts-read",
"repo": "acme/checkout",
"pullRequest": 4,
"service": {
"name": "checkout",
"pagerdutyServiceId": "PSVC123",
"monitorIds": [],
"errorRateQuery": "sum:checkout.errors{*}.as_rate()"
},
"type": "standard",
"opsChannel": "C0PLATFORM1",
"approvers": [
"U_CAB_1",
"U_CAB_2"
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"fs_case": "ops_facts_read"
}
}Server returned
HTTP 200
{
"runId": "ops-facts-read-vr_55bd8d33c1bb4538a9936780cce0d10a",
"workflow": "change-management-gate",
"metadata": {
"organization": "Acme",
"company": "Acme Corporation",
"environment": "unconfigured",
"owner": "unassigned",
"department": "unassigned",
"ownerTeam": "unassigned",
"oncall": "unassigned",
"version": "unversioned",
"sourceCommit": "unrecorded"
},
"org": "Engineering",
"team": "platform-ops",
"phase": "DONE",
"closed": true,
"outcome": "partial",
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"fs_case": "ops_facts_read"
},
"duplicateStarts": 1,
"agents": [
{
"name": "change-check",
"status": "failed",
"error": "github 404 EGeneral:Unknown method: GET /repos/acme/checkout/pulls/4/reviews → 404 EGeneral:Unknown method",
"errorCode": "github:EGeneral:Unknown method",
"durationMs": 223
},
{
"name": "ops-check",
"status": "ok",
"summary": "0 high-urgency incident(s), 0 monitor(s) alerting",
"durationMs": 137
},
{
"name": "gate",
"status": "ok",
"summary": "blocked: the pull request could not be read",
"durationMs": 0
}
],
"actions": [
{
"id": "slack.post_change:blocked",
"kind": "slack.post_change",
"provider": "slack",
"agent": "gate",
"gate": "auto",
"status": "applied",
"summary": {
"channel": "C0PLATFORM1"
},
"attempts": 1,
"ref": "17S356H63L.OIZ2PK",
"appliedAt": "2026-10-22T20:10:42.561Z",
"reconciled": null
}
],
"counts": {
"applied": 1,
"failed": 0,
"pendingApproval": 0,
"skipped": 0,
"rejected": 0,
"scheduled": 0,
"awaitingSignal": 0,
"compensated": 0
},
"wakeAt": null,
"audit": {
"seq": 5,
"head": "f5d13162ee88189844373300e748e9ea169df62ae41040ccc0eacb4b8159acd3"
},
"output": {
"mode": "blocked",
"reasons": [
"the pull request could not be read"
]
},
"events": [
{
"at": "2026-10-22T20:10:42.212Z",
"msg": "started by U_FETCHSANDBOX"
},
{
"at": "2026-10-22T20:10:42.436Z",
"msg": "agents: change-check=failed, ops-check=ok"
},
{
"at": "2026-10-22T20:10:42.439Z",
"msg": "planned 1 action(s): 0 need approval"
},
{
"at": "2026-10-22T20:10:42.561Z",
"msg": "slack.post_change:blocked: applied"
},
{
"at": "2026-10-22T20:10:42.563Z",
"msg": "done (partial)"
},
{
"at": "2026-10-22T20:10:43.055Z",
"msg": "duplicate start ignored"
}
],
"createdAt": "2026-10-22T20:10:42.212Z",
"updatedAt": "2026-10-22T20:10:43.055Z",
"duplicate": true
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/invocations
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]",
"content-length": "495",
"content-type": "application/json"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request POST 'https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/invocations' \
--header 'accept: */*' \
--header 'user-agent: python-httpx/0.28.1' \
--header 'host: fetchsandbox.com' \
--header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \
--header 'x-fetchsandbox-relay: [redacted]' \
--header 'authorization: [redacted]' \
--header 'content-type: application/json' \
--data-raw '{
"action": "start",
"runId": "ops-facts-read-vr_55bd8d33c1bb4538a9936780cce0d10a",
"input": {
"changeId": "CHG-ops-facts-read",
"repo": "acme/checkout",
"pullRequest": 4,
"service": {
"name": "checkout",
"pagerdutyServiceId": "PSVC123",
"monitorIds": [],
"errorRateQuery": "sum:checkout.errors{*}.as_rate()"
},
"type": "standard",
"opsChannel": "C0PLATFORM1",
"approvers": [
"U_CAB_1",
"U_CAB_2"
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"fs_case": "ops_facts_read"
}
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
05GET /verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/ops_facts_read/runs200
We sent
GET /verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/ops_facts_read/runs
This request had no body.
Server returned
HTTP 200
{
"runs": [
{
"runId": "ops-facts-read-vr_55bd8d33c1bb4538a9936780cce0d10a",
"workflow": "change-management-gate",
"metadata": {
"organization": "Acme",
"company": "Acme Corporation",
"environment": "unconfigured",
"owner": "unassigned",
"department": "unassigned",
"ownerTeam": "unassigned",
"oncall": "unassigned",
"version": "unversioned",
"sourceCommit": "unrecorded"
},
"org": "Engineering",
"team": "platform-ops",
"phase": "DONE",
"closed": true,
"outcome": "partial",
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"fs_case": "ops_facts_read"
},
"duplicateStarts": 1,
"agents": [
{
"name": "change-check",
"status": "failed",
"error": "github 404 EGeneral:Unknown method: GET /repos/acme/checkout/pulls/4/reviews → 404 EGeneral:Unknown method",
"errorCode": "github:EGeneral:Unknown method",
"durationMs": 223
},
{
"name": "ops-check",
"status": "ok",
"summary": "0 high-urgency incident(s), 0 monitor(s) alerting",
"durationMs": 137
},
{
"name": "gate",
"status": "ok",
"summary": "blocked: the pull request could not be read",
"durationMs": 0
}
],
"actions": [
{
"id": "slack.post_change:blocked",
"kind": "slack.post_change",
"provider": "slack",
"agent": "gate",
"gate": "auto",
"status": "applied",
"summary": {
"channel": "C0PLATFORM1"
},
"attempts": 1,
"ref": "17S356H63L.OIZ2PK",
"appliedAt": "2026-10-22T20:10:42.561Z",
"reconciled": null
}
],
"counts": {
"applied": 1,
"failed": 0,
"pendingApproval": 0,
"skipped": 0,
"rejected": 0,
"scheduled": 0,
"awaitingSignal": 0,
"compensated": 0
},
"wakeAt": null,
"audit": {
"seq": 5,
"head": "f5d13162ee88189844373300e748e9ea169df62ae41040ccc0eacb4b8159acd3"
},
"output": {
"mode": "blocked",
"reasons": [
"the pull request could not be read"
]
},
"events": [
{
"at": "2026-10-22T20:10:42.212Z",
"msg": "started by U_FETCHSANDBOX"
},
{
"at": "2026-10-22T20:10:42.436Z",
"msg": "agents: change-check=failed, ops-check=ok"
},
{
"at": "2026-10-22T20:10:42.439Z",
"msg": "planned 1 action(s): 0 need approval"
},
{
"at": "2026-10-22T20:10:42.561Z",
"msg": "slack.post_change:blocked: applied"
},
{
"at": "2026-10-22T20:10:42.563Z",
"msg": "done (partial)"
},
{
"at": "2026-10-22T20:10:43.055Z",
"msg": "duplicate start ignored"
}
],
"createdAt": "2026-10-22T20:10:42.212Z",
"updatedAt": "2026-10-22T20:10:43.055Z"
}
]
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/ops_facts_read/runs
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/ops_facts_read/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Evidence
- Run
vr_55bd8d33c1bb4538a9936780cce0d10a- App version (declared)
acme-ops-change-management-g…- Source receipt
- Source receipt ↗
Technical reference
ops_facts_readApp version (declared): acme-ops-change-management-gate-1.0.0-06c2f09
Open incidents (PagerDuty) and monitor states (Datadog) are read
expected exactly 1, found 1; stable under 2 repeats (1)
- Verification covers the declared HTTP actions and state reads in this run.
- The app version shown was supplied by the app itself, not independently checked.
- Passing all checks in this run does not certify the whole app as production-ready.
- The verifier session does not survive a restart. This says nothing about the durability of the app under test.
- App state shown here is what the app's own endpoint reported. It is not independently checked against the database.
Provider traffic in the same time window (4)
These calls were recorded during the same request window as this check but are not directly linked to it. Timing alone is not proof that they caused or were caused by this check.
github · GET /repos/acme/checkout/pulls/4 · HTTP 200
We sent
GET /repos/acme/checkout/pulls/4
No body shown for this read.
Server returned
HTTP 200
{
"id": 25,
"number": 4,
"title": "Fix checkout rounding",
"body": null,
"state": "open",
"head": "fix-rounding",
"base": "main",
"draft": true,
"merged": false,
"mergeable": true,
"additions": 84,
"deletions": 55,
"changed_files": 76,
"created_at": "2026-10-22T20:09:25.589171+00:00",
"updated_at": "2026-10-22T20:09:25.589196+00:00",
"merged_at": null
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/3de250868c/repos/acme/checkout/pulls/4
{
"host": "fetchsandbox.com",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a"
}Response headers were not saved in this run.
Rebuilt curl
curl --request GET 'https://fetchsandbox.com/sandbox/3de250868c/repos/acme/checkout/pulls/4' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
pagerduty · GET /incidents · HTTP 200
We sent
GET /incidents
No body shown for this read.
Server returned
HTTP 200
{
"ending_before": "sample-value",
"filters": {
"created_at_end": "2023-06-01T00:00:00-04:00",
"created_at_start": "2023-05-01T00:00:00-04:00",
"incident_type_ids": [
"PIJ90N7",
"PKL73Z2"
],
"major": true,
"priority_ids": [
"PITMC5Y",
"PEHBBT8",
"PB8QADI"
],
"priority_names": [
"P1",
"P2",
"P3"
],
"service_ids": [
"PC8O0L3",
"PX01HJD",
"P5FK83M"
],
"team_ids": [
"P373JQQ",
"PAECHJV",
"P7SYGW6"
],
"updated_after": "sample-value",
"urgency": "high"
},
"limit": 20,
"order": "asc",
"order_by": "created_at",
"starting_after": "sample-value",
"time_zone": "UTC",
"name": "Sample Incident 1",
"responder_id": "9686c801-360b-4156-8901-94f5fd939dad"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/c91902cec7/incidents
{
"host": "fetchsandbox.com",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a"
}Response headers were not saved in this run.
Rebuilt curl
curl --request GET 'https://fetchsandbox.com/sandbox/c91902cec7/incidents' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
github · GET /repos/acme/checkout/pulls/4/reviews · HTTP 404
We sent
GET /repos/acme/checkout/pulls/4/reviews
No body shown for this read.
Server returned
HTTP 404
{
"errors": [
{
"status": "404",
"code": "EGeneral:Unknown method",
"detail": "No route matches GET /repos/acme/checkout/pulls/4/reviews"
}
]
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/3de250868c/repos/acme/checkout/pulls/4/reviews
{
"host": "fetchsandbox.com",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a"
}Response headers were not saved in this run.
Rebuilt curl
curl --request GET 'https://fetchsandbox.com/sandbox/3de250868c/repos/acme/checkout/pulls/4/reviews' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
slack · POST /api/chat.postMessage · HTTP 200
We sent
POST /api/chat.postMessage
{
"channel": "C0PLATFORM1",
"text": ":no_entry: CHG-ops-facts-read (acme/checkout#4) blocked: the pull request could not be read.",
"unfurl_links": false,
"unfurl_media": false
}Server returned
HTTP 200
{
"channel": "C0PLATFORM1",
"message": {
"bot_id": "bot_6367d138a7b543bf9d0b8b6f27",
"client_msg_id": "cli_f5e7f1bd079b45bfa1c6f5ec15",
"name": "item-faad4e",
"old_name": "Sample Old",
"parent_user_id": "par_97e4eb052b734be595d02b4bd3",
"permalink": "my-resource",
"reply_count": 0,
"reply_users_count": 0,
"text": "Sample text content",
"ts": "sample-value",
"type": "default",
"unread_count": 0,
"username": "acme-corp"
},
"ok": true,
"ts": "17S356H63L.OIZ2PK"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/a097942801/api/chat.postMessage
{
"host": "fetchsandbox.com",
"content-length": "169",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"content-type": "application/json; charset=utf-8"
}Response headers were not saved in this run.
Rebuilt curl
curl --request POST 'https://fetchsandbox.com/sandbox/a097942801/api/chat.postMessage' \
--header 'host: fetchsandbox.com' \
--header 'user-agent: node' \
--header 'accept: application/json' \
--header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \
--header 'content-type: application/json; charset=utf-8' \
--data-raw '{
"channel": "C0PLATFORM1",
"text": ":no_entry: CHG-ops-facts-read (acme/checkout#4) blocked: the pull request could not be read.",
"unfurl_links": false,
"unfurl_media": false
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
A merged, reviewed, green standard change with no incident deploys automatically
standard_change_deploysWhat we probed
A merged, reviewed, green standard change with no incident deploys automatically
How we probed it
Frozen intended probe steps. Recorded requests show what actually ran.
POST /invocations
Expected vs actual
- Expected
- A merged, reviewed, green standard change with no incident deploys automatically
- Actual
- expected exactly 1, found 0; stable under 2 repeats (0)
Requests and responses
01GET /verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/standard_change_deploys/runs200
We sent
GET /verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/standard_change_deploys/runs
This request had no body.
Server returned
HTTP 200
{
"runs": []
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/standard_change_deploys/runs
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "application/json",
"content-length": "11"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/standard_change_deploys/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
02POST /invocations200
We sent
POST /invocations
{
"action": "start",
"runId": "standard-change-deploys-vr_55bd8d33c1bb4538a9936780cce0d10a",
"input": {
"changeId": "CHG-standard-change-deploys",
"repo": "acme/checkout",
"pullRequest": 4,
"service": {
"name": "checkout",
"pagerdutyServiceId": "PSVC123",
"monitorIds": [],
"errorRateQuery": "sum:checkout.errors{*}.as_rate()"
},
"type": "standard",
"opsChannel": "C0PLATFORM1",
"approvers": [
"U_CAB_1",
"U_CAB_2"
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"fs_case": "standard_change_deploys"
}
}Server returned
HTTP 200
{
"runId": "standard-change-deploys-vr_55bd8d33c1bb4538a9936780cce0d10a",
"workflow": "change-management-gate",
"metadata": {
"organization": "Acme",
"company": "Acme Corporation",
"environment": "unconfigured",
"owner": "unassigned",
"department": "unassigned",
"ownerTeam": "unassigned",
"oncall": "unassigned",
"version": "unversioned",
"sourceCommit": "unrecorded"
},
"org": "Engineering",
"team": "platform-ops",
"phase": "DONE",
"closed": true,
"outcome": "partial",
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"fs_case": "standard_change_deploys"
},
"duplicateStarts": 0,
"agents": [
{
"name": "change-check",
"status": "failed",
"error": "github 404 EGeneral:Unknown method: GET /repos/acme/checkout/pulls/4/reviews → 404 EGeneral:Unknown method",
"errorCode": "github:EGeneral:Unknown method",
"durationMs": 219
},
{
"name": "ops-check",
"status": "ok",
"summary": "0 high-urgency incident(s), 0 monitor(s) alerting",
"durationMs": 128
},
{
"name": "gate",
"status": "ok",
"summary": "blocked: the pull request could not be read",
"durationMs": 0
}
],
"actions": [
{
"id": "slack.post_change:blocked",
"kind": "slack.post_change",
"provider": "slack",
"agent": "gate",
"gate": "auto",
"status": "applied",
"summary": {
"channel": "C0PLATFORM1"
},
"attempts": 1,
"ref": "17URJFBP4K.3QX01O",
"appliedAt": "2026-10-22T20:10:44.142Z",
"reconciled": null
}
],
"counts": {
"applied": 1,
"failed": 0,
"pendingApproval": 0,
"skipped": 0,
"rejected": 0,
"scheduled": 0,
"awaitingSignal": 0,
"compensated": 0
},
"wakeAt": null,
"audit": {
"seq": 4,
"head": "1bb38a2258d168d24c935291898d203f14a8db1d5193868fa013e2ef7bbcef76"
},
"output": {
"mode": "blocked",
"reasons": [
"the pull request could not be read"
]
},
"events": [
{
"at": "2026-10-22T20:10:43.760Z",
"msg": "started by U_FETCHSANDBOX"
},
{
"at": "2026-10-22T20:10:43.980Z",
"msg": "agents: change-check=failed, ops-check=ok"
},
{
"at": "2026-10-22T20:10:43.984Z",
"msg": "planned 1 action(s): 0 need approval"
},
{
"at": "2026-10-22T20:10:44.142Z",
"msg": "slack.post_change:blocked: applied"
},
{
"at": "2026-10-22T20:10:44.144Z",
"msg": "done (partial)"
}
],
"createdAt": "2026-10-22T20:10:43.760Z",
"updatedAt": "2026-10-22T20:10:44.144Z",
"duplicate": false
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/invocations
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]",
"content-length": "522",
"content-type": "application/json"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request POST 'https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/invocations' \
--header 'accept: */*' \
--header 'user-agent: python-httpx/0.28.1' \
--header 'host: fetchsandbox.com' \
--header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \
--header 'x-fetchsandbox-relay: [redacted]' \
--header 'authorization: [redacted]' \
--header 'content-type: application/json' \
--data-raw '{
"action": "start",
"runId": "standard-change-deploys-vr_55bd8d33c1bb4538a9936780cce0d10a",
"input": {
"changeId": "CHG-standard-change-deploys",
"repo": "acme/checkout",
"pullRequest": 4,
"service": {
"name": "checkout",
"pagerdutyServiceId": "PSVC123",
"monitorIds": [],
"errorRateQuery": "sum:checkout.errors{*}.as_rate()"
},
"type": "standard",
"opsChannel": "C0PLATFORM1",
"approvers": [
"U_CAB_1",
"U_CAB_2"
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"fs_case": "standard_change_deploys"
}
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
03GET /verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/standard_change_deploys/runs200
We sent
GET /verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/standard_change_deploys/runs
This request had no body.
Server returned
HTTP 200
{
"runs": [
{
"runId": "standard-change-deploys-vr_55bd8d33c1bb4538a9936780cce0d10a",
"workflow": "change-management-gate",
"metadata": {
"organization": "Acme",
"company": "Acme Corporation",
"environment": "unconfigured",
"owner": "unassigned",
"department": "unassigned",
"ownerTeam": "unassigned",
"oncall": "unassigned",
"version": "unversioned",
"sourceCommit": "unrecorded"
},
"org": "Engineering",
"team": "platform-ops",
"phase": "DONE",
"closed": true,
"outcome": "partial",
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"fs_case": "standard_change_deploys"
},
"duplicateStarts": 0,
"agents": [
{
"name": "change-check",
"status": "failed",
"error": "github 404 EGeneral:Unknown method: GET /repos/acme/checkout/pulls/4/reviews → 404 EGeneral:Unknown method",
"errorCode": "github:EGeneral:Unknown method",
"durationMs": 219
},
{
"name": "ops-check",
"status": "ok",
"summary": "0 high-urgency incident(s), 0 monitor(s) alerting",
"durationMs": 128
},
{
"name": "gate",
"status": "ok",
"summary": "blocked: the pull request could not be read",
"durationMs": 0
}
],
"actions": [
{
"id": "slack.post_change:blocked",
"kind": "slack.post_change",
"provider": "slack",
"agent": "gate",
"gate": "auto",
"status": "applied",
"summary": {
"channel": "C0PLATFORM1"
},
"attempts": 1,
"ref": "17URJFBP4K.3QX01O",
"appliedAt": "2026-10-22T20:10:44.142Z",
"reconciled": null
}
],
"counts": {
"applied": 1,
"failed": 0,
"pendingApproval": 0,
"skipped": 0,
"rejected": 0,
"scheduled": 0,
"awaitingSignal": 0,
"compensated": 0
},
"wakeAt": null,
"audit": {
"seq": 4,
"head": "1bb38a2258d168d24c935291898d203f14a8db1d5193868fa013e2ef7bbcef76"
},
"output": {
"mode": "blocked",
"reasons": [
"the pull request could not be read"
]
},
"events": [
{
"at": "2026-10-22T20:10:43.760Z",
"msg": "started by U_FETCHSANDBOX"
},
{
"at": "2026-10-22T20:10:43.980Z",
"msg": "agents: change-check=failed, ops-check=ok"
},
{
"at": "2026-10-22T20:10:43.984Z",
"msg": "planned 1 action(s): 0 need approval"
},
{
"at": "2026-10-22T20:10:44.142Z",
"msg": "slack.post_change:blocked: applied"
},
{
"at": "2026-10-22T20:10:44.144Z",
"msg": "done (partial)"
}
],
"createdAt": "2026-10-22T20:10:43.760Z",
"updatedAt": "2026-10-22T20:10:44.144Z"
}
]
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/standard_change_deploys/runs
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/standard_change_deploys/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
04POST /invocations200
We sent
POST /invocations
{
"action": "start",
"runId": "standard-change-deploys-vr_55bd8d33c1bb4538a9936780cce0d10a",
"input": {
"changeId": "CHG-standard-change-deploys",
"repo": "acme/checkout",
"pullRequest": 4,
"service": {
"name": "checkout",
"pagerdutyServiceId": "PSVC123",
"monitorIds": [],
"errorRateQuery": "sum:checkout.errors{*}.as_rate()"
},
"type": "standard",
"opsChannel": "C0PLATFORM1",
"approvers": [
"U_CAB_1",
"U_CAB_2"
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"fs_case": "standard_change_deploys"
}
}Server returned
HTTP 200
{
"runId": "standard-change-deploys-vr_55bd8d33c1bb4538a9936780cce0d10a",
"workflow": "change-management-gate",
"metadata": {
"organization": "Acme",
"company": "Acme Corporation",
"environment": "unconfigured",
"owner": "unassigned",
"department": "unassigned",
"ownerTeam": "unassigned",
"oncall": "unassigned",
"version": "unversioned",
"sourceCommit": "unrecorded"
},
"org": "Engineering",
"team": "platform-ops",
"phase": "DONE",
"closed": true,
"outcome": "partial",
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"fs_case": "standard_change_deploys"
},
"duplicateStarts": 1,
"agents": [
{
"name": "change-check",
"status": "failed",
"error": "github 404 EGeneral:Unknown method: GET /repos/acme/checkout/pulls/4/reviews → 404 EGeneral:Unknown method",
"errorCode": "github:EGeneral:Unknown method",
"durationMs": 219
},
{
"name": "ops-check",
"status": "ok",
"summary": "0 high-urgency incident(s), 0 monitor(s) alerting",
"durationMs": 128
},
{
"name": "gate",
"status": "ok",
"summary": "blocked: the pull request could not be read",
"durationMs": 0
}
],
"actions": [
{
"id": "slack.post_change:blocked",
"kind": "slack.post_change",
"provider": "slack",
"agent": "gate",
"gate": "auto",
"status": "applied",
"summary": {
"channel": "C0PLATFORM1"
},
"attempts": 1,
"ref": "17URJFBP4K.3QX01O",
"appliedAt": "2026-10-22T20:10:44.142Z",
"reconciled": null
}
],
"counts": {
"applied": 1,
"failed": 0,
"pendingApproval": 0,
"skipped": 0,
"rejected": 0,
"scheduled": 0,
"awaitingSignal": 0,
"compensated": 0
},
"wakeAt": null,
"audit": {
"seq": 5,
"head": "b4003ee7ecd77874a3696d5975e9382c629873d123e862942c73e0aed9d54a83"
},
"output": {
"mode": "blocked",
"reasons": [
"the pull request could not be read"
]
},
"events": [
{
"at": "2026-10-22T20:10:43.760Z",
"msg": "started by U_FETCHSANDBOX"
},
{
"at": "2026-10-22T20:10:43.980Z",
"msg": "agents: change-check=failed, ops-check=ok"
},
{
"at": "2026-10-22T20:10:43.984Z",
"msg": "planned 1 action(s): 0 need approval"
},
{
"at": "2026-10-22T20:10:44.142Z",
"msg": "slack.post_change:blocked: applied"
},
{
"at": "2026-10-22T20:10:44.144Z",
"msg": "done (partial)"
},
{
"at": "2026-10-22T20:10:44.655Z",
"msg": "duplicate start ignored"
}
],
"createdAt": "2026-10-22T20:10:43.760Z",
"updatedAt": "2026-10-22T20:10:44.655Z",
"duplicate": true
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/invocations
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]",
"content-length": "522",
"content-type": "application/json"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request POST 'https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/invocations' \
--header 'accept: */*' \
--header 'user-agent: python-httpx/0.28.1' \
--header 'host: fetchsandbox.com' \
--header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \
--header 'x-fetchsandbox-relay: [redacted]' \
--header 'authorization: [redacted]' \
--header 'content-type: application/json' \
--data-raw '{
"action": "start",
"runId": "standard-change-deploys-vr_55bd8d33c1bb4538a9936780cce0d10a",
"input": {
"changeId": "CHG-standard-change-deploys",
"repo": "acme/checkout",
"pullRequest": 4,
"service": {
"name": "checkout",
"pagerdutyServiceId": "PSVC123",
"monitorIds": [],
"errorRateQuery": "sum:checkout.errors{*}.as_rate()"
},
"type": "standard",
"opsChannel": "C0PLATFORM1",
"approvers": [
"U_CAB_1",
"U_CAB_2"
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"fs_case": "standard_change_deploys"
}
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
05GET /verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/standard_change_deploys/runs200
We sent
GET /verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/standard_change_deploys/runs
This request had no body.
Server returned
HTTP 200
{
"runs": [
{
"runId": "standard-change-deploys-vr_55bd8d33c1bb4538a9936780cce0d10a",
"workflow": "change-management-gate",
"metadata": {
"organization": "Acme",
"company": "Acme Corporation",
"environment": "unconfigured",
"owner": "unassigned",
"department": "unassigned",
"ownerTeam": "unassigned",
"oncall": "unassigned",
"version": "unversioned",
"sourceCommit": "unrecorded"
},
"org": "Engineering",
"team": "platform-ops",
"phase": "DONE",
"closed": true,
"outcome": "partial",
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"fs_case": "standard_change_deploys"
},
"duplicateStarts": 1,
"agents": [
{
"name": "change-check",
"status": "failed",
"error": "github 404 EGeneral:Unknown method: GET /repos/acme/checkout/pulls/4/reviews → 404 EGeneral:Unknown method",
"errorCode": "github:EGeneral:Unknown method",
"durationMs": 219
},
{
"name": "ops-check",
"status": "ok",
"summary": "0 high-urgency incident(s), 0 monitor(s) alerting",
"durationMs": 128
},
{
"name": "gate",
"status": "ok",
"summary": "blocked: the pull request could not be read",
"durationMs": 0
}
],
"actions": [
{
"id": "slack.post_change:blocked",
"kind": "slack.post_change",
"provider": "slack",
"agent": "gate",
"gate": "auto",
"status": "applied",
"summary": {
"channel": "C0PLATFORM1"
},
"attempts": 1,
"ref": "17URJFBP4K.3QX01O",
"appliedAt": "2026-10-22T20:10:44.142Z",
"reconciled": null
}
],
"counts": {
"applied": 1,
"failed": 0,
"pendingApproval": 0,
"skipped": 0,
"rejected": 0,
"scheduled": 0,
"awaitingSignal": 0,
"compensated": 0
},
"wakeAt": null,
"audit": {
"seq": 5,
"head": "b4003ee7ecd77874a3696d5975e9382c629873d123e862942c73e0aed9d54a83"
},
"output": {
"mode": "blocked",
"reasons": [
"the pull request could not be read"
]
},
"events": [
{
"at": "2026-10-22T20:10:43.760Z",
"msg": "started by U_FETCHSANDBOX"
},
{
"at": "2026-10-22T20:10:43.980Z",
"msg": "agents: change-check=failed, ops-check=ok"
},
{
"at": "2026-10-22T20:10:43.984Z",
"msg": "planned 1 action(s): 0 need approval"
},
{
"at": "2026-10-22T20:10:44.142Z",
"msg": "slack.post_change:blocked: applied"
},
{
"at": "2026-10-22T20:10:44.144Z",
"msg": "done (partial)"
},
{
"at": "2026-10-22T20:10:44.655Z",
"msg": "duplicate start ignored"
}
],
"createdAt": "2026-10-22T20:10:43.760Z",
"updatedAt": "2026-10-22T20:10:44.655Z"
}
]
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/standard_change_deploys/runs
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/standard_change_deploys/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Evidence
- Run
vr_55bd8d33c1bb4538a9936780cce0d10a- App version (declared)
acme-ops-change-management-g…- Source receipt
- Source receipt ↗
Technical reference
standard_change_deploysApp version (declared): acme-ops-change-management-gate-1.0.0-06c2f09
A merged, reviewed, green standard change with no incident deploys automatically
expected exactly 1, found 0; stable under 2 repeats (0)
- Verification covers the declared HTTP actions and state reads in this run.
- The app version shown was supplied by the app itself, not independently checked.
- Passing all checks in this run does not certify the whole app as production-ready.
- The verifier session does not survive a restart. This says nothing about the durability of the app under test.
- App state shown here is what the app's own endpoint reported. It is not independently checked against the database.
Provider traffic in the same time window (4)
These calls were recorded during the same request window as this check but are not directly linked to it. Timing alone is not proof that they caused or were caused by this check.
github · GET /repos/acme/checkout/pulls/4 · HTTP 200
We sent
GET /repos/acme/checkout/pulls/4
No body shown for this read.
Server returned
HTTP 200
{
"id": 25,
"number": 4,
"title": "Fix checkout rounding",
"body": null,
"state": "open",
"head": "fix-rounding",
"base": "main",
"draft": true,
"merged": false,
"mergeable": true,
"additions": 84,
"deletions": 55,
"changed_files": 76,
"created_at": "2026-10-22T20:09:25.589171+00:00",
"updated_at": "2026-10-22T20:09:25.589196+00:00",
"merged_at": null
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/3de250868c/repos/acme/checkout/pulls/4
{
"host": "fetchsandbox.com",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a"
}Response headers were not saved in this run.
Rebuilt curl
curl --request GET 'https://fetchsandbox.com/sandbox/3de250868c/repos/acme/checkout/pulls/4' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
pagerduty · GET /incidents · HTTP 200
We sent
GET /incidents
No body shown for this read.
Server returned
HTTP 200
{
"ending_before": "sample-value",
"filters": {
"created_at_end": "2023-06-01T00:00:00-04:00",
"created_at_start": "2023-05-01T00:00:00-04:00",
"incident_type_ids": [
"PIJ90N7",
"PKL73Z2"
],
"major": true,
"priority_ids": [
"PITMC5Y",
"PEHBBT8",
"PB8QADI"
],
"priority_names": [
"P1",
"P2",
"P3"
],
"service_ids": [
"PC8O0L3",
"PX01HJD",
"P5FK83M"
],
"team_ids": [
"P373JQQ",
"PAECHJV",
"P7SYGW6"
],
"updated_after": "sample-value",
"urgency": "high"
},
"limit": 20,
"order": "asc",
"order_by": "created_at",
"starting_after": "sample-value",
"time_zone": "UTC",
"name": "Sample Incident 1",
"responder_id": "9686c801-360b-4156-8901-94f5fd939dad"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/c91902cec7/incidents
{
"host": "fetchsandbox.com",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a"
}Response headers were not saved in this run.
Rebuilt curl
curl --request GET 'https://fetchsandbox.com/sandbox/c91902cec7/incidents' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
github · GET /repos/acme/checkout/pulls/4/reviews · HTTP 404
We sent
GET /repos/acme/checkout/pulls/4/reviews
No body shown for this read.
Server returned
HTTP 404
{
"errors": [
{
"status": "404",
"code": "EGeneral:Unknown method",
"detail": "No route matches GET /repos/acme/checkout/pulls/4/reviews"
}
]
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/3de250868c/repos/acme/checkout/pulls/4/reviews
{
"host": "fetchsandbox.com",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a"
}Response headers were not saved in this run.
Rebuilt curl
curl --request GET 'https://fetchsandbox.com/sandbox/3de250868c/repos/acme/checkout/pulls/4/reviews' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
slack · POST /api/chat.postMessage · HTTP 200
We sent
POST /api/chat.postMessage
{
"channel": "C0PLATFORM1",
"text": ":no_entry: CHG-standard-change-deploys (acme/checkout#4) blocked: the pull request could not be read.",
"unfurl_links": false,
"unfurl_media": false
}Server returned
HTTP 200
{
"channel": "C0PLATFORM1",
"message": {
"bot_id": "bot_0e5ac6ca7d4149b8859ee16652",
"client_msg_id": "cli_eede2ee0d0eb4b1da1be57721f",
"name": "item-bf6751",
"old_name": "Sample Old",
"parent_user_id": "par_d0e44703427d4d008883509356",
"permalink": "my-resource",
"reply_count": 0,
"reply_users_count": 0,
"text": "Sample text content",
"ts": "sample-value",
"type": "default",
"unread_count": 0,
"username": "acme-corp"
},
"ok": true,
"ts": "17URJFBP4K.3QX01O"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/a097942801/api/chat.postMessage
{
"host": "fetchsandbox.com",
"content-length": "178",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"content-type": "application/json; charset=utf-8"
}Response headers were not saved in this run.
Rebuilt curl
curl --request POST 'https://fetchsandbox.com/sandbox/a097942801/api/chat.postMessage' \
--header 'host: fetchsandbox.com' \
--header 'user-agent: node' \
--header 'accept: application/json' \
--header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \
--header 'content-type: application/json; charset=utf-8' \
--data-raw '{
"channel": "C0PLATFORM1",
"text": ":no_entry: CHG-standard-change-deploys (acme/checkout#4) blocked: the pull request could not be read.",
"unfurl_links": false,
"unfurl_media": false
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
A normal change waits for a CAB approver
normal_change_needs_cabWhat we probed
A normal change waits for a CAB approver
How we probed it
Frozen intended probe steps. Recorded requests show what actually ran.
POST /invocations
Expected vs actual
- Expected
- A normal change waits for a CAB approver
- Actual
- expected exactly 1, found 0; stable under 2 repeats (0)
Requests and responses
01GET /verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/normal_change_needs_cab/runs200
We sent
GET /verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/normal_change_needs_cab/runs
This request had no body.
Server returned
HTTP 200
{
"runs": []
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/normal_change_needs_cab/runs
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "application/json",
"content-length": "11"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/normal_change_needs_cab/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
02POST /invocations200
We sent
POST /invocations
{
"action": "start",
"runId": "normal-change-needs-cab-vr_55bd8d33c1bb4538a9936780cce0d10a",
"input": {
"changeId": "CHG-normal-change-needs-cab",
"repo": "acme/checkout",
"pullRequest": 4,
"service": {
"name": "checkout",
"pagerdutyServiceId": "PSVC123",
"monitorIds": [],
"errorRateQuery": "sum:checkout.errors{*}.as_rate()"
},
"type": "normal",
"opsChannel": "C0PLATFORM1",
"approvers": [
"U_CAB_1",
"U_CAB_2"
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"fs_case": "normal_change_needs_cab"
}
}Server returned
HTTP 200
{
"runId": "normal-change-needs-cab-vr_55bd8d33c1bb4538a9936780cce0d10a",
"workflow": "change-management-gate",
"metadata": {
"organization": "Acme",
"company": "Acme Corporation",
"environment": "unconfigured",
"owner": "unassigned",
"department": "unassigned",
"ownerTeam": "unassigned",
"oncall": "unassigned",
"version": "unversioned",
"sourceCommit": "unrecorded"
},
"org": "Engineering",
"team": "platform-ops",
"phase": "DONE",
"closed": true,
"outcome": "partial",
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"fs_case": "normal_change_needs_cab"
},
"duplicateStarts": 0,
"agents": [
{
"name": "change-check",
"status": "failed",
"error": "github 404 EGeneral:Unknown method: GET /repos/acme/checkout/pulls/4/reviews → 404 EGeneral:Unknown method",
"errorCode": "github:EGeneral:Unknown method",
"durationMs": 258
},
{
"name": "ops-check",
"status": "ok",
"summary": "0 high-urgency incident(s), 0 monitor(s) alerting",
"durationMs": 154
},
{
"name": "gate",
"status": "ok",
"summary": "blocked: the pull request could not be read",
"durationMs": 1
}
],
"actions": [
{
"id": "slack.post_change:blocked",
"kind": "slack.post_change",
"provider": "slack",
"agent": "gate",
"gate": "auto",
"status": "applied",
"summary": {
"channel": "C0PLATFORM1"
},
"attempts": 1,
"ref": "17C8IJ93XU.J98Y7T",
"appliedAt": "2026-10-22T20:10:45.866Z",
"reconciled": null
}
],
"counts": {
"applied": 1,
"failed": 0,
"pendingApproval": 0,
"skipped": 0,
"rejected": 0,
"scheduled": 0,
"awaitingSignal": 0,
"compensated": 0
},
"wakeAt": null,
"audit": {
"seq": 4,
"head": "bd9346d5453c3c144fb8faec6a2cbca7978b991c7d83707ac3f833c58d3208dd"
},
"output": {
"mode": "blocked",
"reasons": [
"the pull request could not be read"
]
},
"events": [
{
"at": "2026-10-22T20:10:45.458Z",
"msg": "started by U_FETCHSANDBOX"
},
{
"at": "2026-10-22T20:10:45.717Z",
"msg": "agents: change-check=failed, ops-check=ok"
},
{
"at": "2026-10-22T20:10:45.720Z",
"msg": "planned 1 action(s): 0 need approval"
},
{
"at": "2026-10-22T20:10:45.866Z",
"msg": "slack.post_change:blocked: applied"
},
{
"at": "2026-10-22T20:10:45.868Z",
"msg": "done (partial)"
}
],
"createdAt": "2026-10-22T20:10:45.458Z",
"updatedAt": "2026-10-22T20:10:45.868Z",
"duplicate": false
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/invocations
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]",
"content-length": "520",
"content-type": "application/json"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request POST 'https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/invocations' \
--header 'accept: */*' \
--header 'user-agent: python-httpx/0.28.1' \
--header 'host: fetchsandbox.com' \
--header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \
--header 'x-fetchsandbox-relay: [redacted]' \
--header 'authorization: [redacted]' \
--header 'content-type: application/json' \
--data-raw '{
"action": "start",
"runId": "normal-change-needs-cab-vr_55bd8d33c1bb4538a9936780cce0d10a",
"input": {
"changeId": "CHG-normal-change-needs-cab",
"repo": "acme/checkout",
"pullRequest": 4,
"service": {
"name": "checkout",
"pagerdutyServiceId": "PSVC123",
"monitorIds": [],
"errorRateQuery": "sum:checkout.errors{*}.as_rate()"
},
"type": "normal",
"opsChannel": "C0PLATFORM1",
"approvers": [
"U_CAB_1",
"U_CAB_2"
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"fs_case": "normal_change_needs_cab"
}
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
03GET /verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/normal_change_needs_cab/runs200
We sent
GET /verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/normal_change_needs_cab/runs
This request had no body.
Server returned
HTTP 200
{
"runs": [
{
"runId": "normal-change-needs-cab-vr_55bd8d33c1bb4538a9936780cce0d10a",
"workflow": "change-management-gate",
"metadata": {
"organization": "Acme",
"company": "Acme Corporation",
"environment": "unconfigured",
"owner": "unassigned",
"department": "unassigned",
"ownerTeam": "unassigned",
"oncall": "unassigned",
"version": "unversioned",
"sourceCommit": "unrecorded"
},
"org": "Engineering",
"team": "platform-ops",
"phase": "DONE",
"closed": true,
"outcome": "partial",
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"fs_case": "normal_change_needs_cab"
},
"duplicateStarts": 0,
"agents": [
{
"name": "change-check",
"status": "failed",
"error": "github 404 EGeneral:Unknown method: GET /repos/acme/checkout/pulls/4/reviews → 404 EGeneral:Unknown method",
"errorCode": "github:EGeneral:Unknown method",
"durationMs": 258
},
{
"name": "ops-check",
"status": "ok",
"summary": "0 high-urgency incident(s), 0 monitor(s) alerting",
"durationMs": 154
},
{
"name": "gate",
"status": "ok",
"summary": "blocked: the pull request could not be read",
"durationMs": 1
}
],
"actions": [
{
"id": "slack.post_change:blocked",
"kind": "slack.post_change",
"provider": "slack",
"agent": "gate",
"gate": "auto",
"status": "applied",
"summary": {
"channel": "C0PLATFORM1"
},
"attempts": 1,
"ref": "17C8IJ93XU.J98Y7T",
"appliedAt": "2026-10-22T20:10:45.866Z",
"reconciled": null
}
],
"counts": {
"applied": 1,
"failed": 0,
"pendingApproval": 0,
"skipped": 0,
"rejected": 0,
"scheduled": 0,
"awaitingSignal": 0,
"compensated": 0
},
"wakeAt": null,
"audit": {
"seq": 4,
"head": "bd9346d5453c3c144fb8faec6a2cbca7978b991c7d83707ac3f833c58d3208dd"
},
"output": {
"mode": "blocked",
"reasons": [
"the pull request could not be read"
]
},
"events": [
{
"at": "2026-10-22T20:10:45.458Z",
"msg": "started by U_FETCHSANDBOX"
},
{
"at": "2026-10-22T20:10:45.717Z",
"msg": "agents: change-check=failed, ops-check=ok"
},
{
"at": "2026-10-22T20:10:45.720Z",
"msg": "planned 1 action(s): 0 need approval"
},
{
"at": "2026-10-22T20:10:45.866Z",
"msg": "slack.post_change:blocked: applied"
},
{
"at": "2026-10-22T20:10:45.868Z",
"msg": "done (partial)"
}
],
"createdAt": "2026-10-22T20:10:45.458Z",
"updatedAt": "2026-10-22T20:10:45.868Z"
}
]
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/normal_change_needs_cab/runs
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/normal_change_needs_cab/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
04POST /invocations200
We sent
POST /invocations
{
"action": "start",
"runId": "normal-change-needs-cab-vr_55bd8d33c1bb4538a9936780cce0d10a",
"input": {
"changeId": "CHG-normal-change-needs-cab",
"repo": "acme/checkout",
"pullRequest": 4,
"service": {
"name": "checkout",
"pagerdutyServiceId": "PSVC123",
"monitorIds": [],
"errorRateQuery": "sum:checkout.errors{*}.as_rate()"
},
"type": "normal",
"opsChannel": "C0PLATFORM1",
"approvers": [
"U_CAB_1",
"U_CAB_2"
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"fs_case": "normal_change_needs_cab"
}
}Server returned
HTTP 200
{
"runId": "normal-change-needs-cab-vr_55bd8d33c1bb4538a9936780cce0d10a",
"workflow": "change-management-gate",
"metadata": {
"organization": "Acme",
"company": "Acme Corporation",
"environment": "unconfigured",
"owner": "unassigned",
"department": "unassigned",
"ownerTeam": "unassigned",
"oncall": "unassigned",
"version": "unversioned",
"sourceCommit": "unrecorded"
},
"org": "Engineering",
"team": "platform-ops",
"phase": "DONE",
"closed": true,
"outcome": "partial",
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"fs_case": "normal_change_needs_cab"
},
"duplicateStarts": 1,
"agents": [
{
"name": "change-check",
"status": "failed",
"error": "github 404 EGeneral:Unknown method: GET /repos/acme/checkout/pulls/4/reviews → 404 EGeneral:Unknown method",
"errorCode": "github:EGeneral:Unknown method",
"durationMs": 258
},
{
"name": "ops-check",
"status": "ok",
"summary": "0 high-urgency incident(s), 0 monitor(s) alerting",
"durationMs": 154
},
{
"name": "gate",
"status": "ok",
"summary": "blocked: the pull request could not be read",
"durationMs": 1
}
],
"actions": [
{
"id": "slack.post_change:blocked",
"kind": "slack.post_change",
"provider": "slack",
"agent": "gate",
"gate": "auto",
"status": "applied",
"summary": {
"channel": "C0PLATFORM1"
},
"attempts": 1,
"ref": "17C8IJ93XU.J98Y7T",
"appliedAt": "2026-10-22T20:10:45.866Z",
"reconciled": null
}
],
"counts": {
"applied": 1,
"failed": 0,
"pendingApproval": 0,
"skipped": 0,
"rejected": 0,
"scheduled": 0,
"awaitingSignal": 0,
"compensated": 0
},
"wakeAt": null,
"audit": {
"seq": 5,
"head": "2278a643de1fce200f1c04be432eb716dbf6b66e0c66a79d499a5d7e52ef0df8"
},
"output": {
"mode": "blocked",
"reasons": [
"the pull request could not be read"
]
},
"events": [
{
"at": "2026-10-22T20:10:45.458Z",
"msg": "started by U_FETCHSANDBOX"
},
{
"at": "2026-10-22T20:10:45.717Z",
"msg": "agents: change-check=failed, ops-check=ok"
},
{
"at": "2026-10-22T20:10:45.720Z",
"msg": "planned 1 action(s): 0 need approval"
},
{
"at": "2026-10-22T20:10:45.866Z",
"msg": "slack.post_change:blocked: applied"
},
{
"at": "2026-10-22T20:10:45.868Z",
"msg": "done (partial)"
},
{
"at": "2026-10-22T20:10:46.358Z",
"msg": "duplicate start ignored"
}
],
"createdAt": "2026-10-22T20:10:45.458Z",
"updatedAt": "2026-10-22T20:10:46.358Z",
"duplicate": true
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/invocations
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]",
"content-length": "520",
"content-type": "application/json"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request POST 'https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/invocations' \
--header 'accept: */*' \
--header 'user-agent: python-httpx/0.28.1' \
--header 'host: fetchsandbox.com' \
--header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \
--header 'x-fetchsandbox-relay: [redacted]' \
--header 'authorization: [redacted]' \
--header 'content-type: application/json' \
--data-raw '{
"action": "start",
"runId": "normal-change-needs-cab-vr_55bd8d33c1bb4538a9936780cce0d10a",
"input": {
"changeId": "CHG-normal-change-needs-cab",
"repo": "acme/checkout",
"pullRequest": 4,
"service": {
"name": "checkout",
"pagerdutyServiceId": "PSVC123",
"monitorIds": [],
"errorRateQuery": "sum:checkout.errors{*}.as_rate()"
},
"type": "normal",
"opsChannel": "C0PLATFORM1",
"approvers": [
"U_CAB_1",
"U_CAB_2"
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"fs_case": "normal_change_needs_cab"
}
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
05GET /verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/normal_change_needs_cab/runs200
We sent
GET /verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/normal_change_needs_cab/runs
This request had no body.
Server returned
HTTP 200
{
"runs": [
{
"runId": "normal-change-needs-cab-vr_55bd8d33c1bb4538a9936780cce0d10a",
"workflow": "change-management-gate",
"metadata": {
"organization": "Acme",
"company": "Acme Corporation",
"environment": "unconfigured",
"owner": "unassigned",
"department": "unassigned",
"ownerTeam": "unassigned",
"oncall": "unassigned",
"version": "unversioned",
"sourceCommit": "unrecorded"
},
"org": "Engineering",
"team": "platform-ops",
"phase": "DONE",
"closed": true,
"outcome": "partial",
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"fs_case": "normal_change_needs_cab"
},
"duplicateStarts": 1,
"agents": [
{
"name": "change-check",
"status": "failed",
"error": "github 404 EGeneral:Unknown method: GET /repos/acme/checkout/pulls/4/reviews → 404 EGeneral:Unknown method",
"errorCode": "github:EGeneral:Unknown method",
"durationMs": 258
},
{
"name": "ops-check",
"status": "ok",
"summary": "0 high-urgency incident(s), 0 monitor(s) alerting",
"durationMs": 154
},
{
"name": "gate",
"status": "ok",
"summary": "blocked: the pull request could not be read",
"durationMs": 1
}
],
"actions": [
{
"id": "slack.post_change:blocked",
"kind": "slack.post_change",
"provider": "slack",
"agent": "gate",
"gate": "auto",
"status": "applied",
"summary": {
"channel": "C0PLATFORM1"
},
"attempts": 1,
"ref": "17C8IJ93XU.J98Y7T",
"appliedAt": "2026-10-22T20:10:45.866Z",
"reconciled": null
}
],
"counts": {
"applied": 1,
"failed": 0,
"pendingApproval": 0,
"skipped": 0,
"rejected": 0,
"scheduled": 0,
"awaitingSignal": 0,
"compensated": 0
},
"wakeAt": null,
"audit": {
"seq": 5,
"head": "2278a643de1fce200f1c04be432eb716dbf6b66e0c66a79d499a5d7e52ef0df8"
},
"output": {
"mode": "blocked",
"reasons": [
"the pull request could not be read"
]
},
"events": [
{
"at": "2026-10-22T20:10:45.458Z",
"msg": "started by U_FETCHSANDBOX"
},
{
"at": "2026-10-22T20:10:45.717Z",
"msg": "agents: change-check=failed, ops-check=ok"
},
{
"at": "2026-10-22T20:10:45.720Z",
"msg": "planned 1 action(s): 0 need approval"
},
{
"at": "2026-10-22T20:10:45.866Z",
"msg": "slack.post_change:blocked: applied"
},
{
"at": "2026-10-22T20:10:45.868Z",
"msg": "done (partial)"
},
{
"at": "2026-10-22T20:10:46.358Z",
"msg": "duplicate start ignored"
}
],
"createdAt": "2026-10-22T20:10:45.458Z",
"updatedAt": "2026-10-22T20:10:46.358Z"
}
]
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/normal_change_needs_cab/runs
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/normal_change_needs_cab/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Evidence
- Run
vr_55bd8d33c1bb4538a9936780cce0d10a- App version (declared)
acme-ops-change-management-g…- Source receipt
- Source receipt ↗
Technical reference
normal_change_needs_cabApp version (declared): acme-ops-change-management-gate-1.0.0-06c2f09
A normal change waits for a CAB approver
expected exactly 1, found 0; stable under 2 repeats (0)
- Verification covers the declared HTTP actions and state reads in this run.
- The app version shown was supplied by the app itself, not independently checked.
- Passing all checks in this run does not certify the whole app as production-ready.
- The verifier session does not survive a restart. This says nothing about the durability of the app under test.
- App state shown here is what the app's own endpoint reported. It is not independently checked against the database.
Provider traffic in the same time window (4)
These calls were recorded during the same request window as this check but are not directly linked to it. Timing alone is not proof that they caused or were caused by this check.
github · GET /repos/acme/checkout/pulls/4 · HTTP 200
We sent
GET /repos/acme/checkout/pulls/4
No body shown for this read.
Server returned
HTTP 200
{
"id": 25,
"number": 4,
"title": "Fix checkout rounding",
"body": null,
"state": "open",
"head": "fix-rounding",
"base": "main",
"draft": true,
"merged": false,
"mergeable": true,
"additions": 84,
"deletions": 55,
"changed_files": 76,
"created_at": "2026-10-22T20:09:25.589171+00:00",
"updated_at": "2026-10-22T20:09:25.589196+00:00",
"merged_at": null
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/3de250868c/repos/acme/checkout/pulls/4
{
"host": "fetchsandbox.com",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a"
}Response headers were not saved in this run.
Rebuilt curl
curl --request GET 'https://fetchsandbox.com/sandbox/3de250868c/repos/acme/checkout/pulls/4' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
pagerduty · GET /incidents · HTTP 200
We sent
GET /incidents
No body shown for this read.
Server returned
HTTP 200
{
"ending_before": "sample-value",
"filters": {
"created_at_end": "2023-06-01T00:00:00-04:00",
"created_at_start": "2023-05-01T00:00:00-04:00",
"incident_type_ids": [
"PIJ90N7",
"PKL73Z2"
],
"major": true,
"priority_ids": [
"PITMC5Y",
"PEHBBT8",
"PB8QADI"
],
"priority_names": [
"P1",
"P2",
"P3"
],
"service_ids": [
"PC8O0L3",
"PX01HJD",
"P5FK83M"
],
"team_ids": [
"P373JQQ",
"PAECHJV",
"P7SYGW6"
],
"updated_after": "sample-value",
"urgency": "high"
},
"limit": 20,
"order": "asc",
"order_by": "created_at",
"starting_after": "sample-value",
"time_zone": "UTC",
"name": "Sample Incident 1",
"responder_id": "9686c801-360b-4156-8901-94f5fd939dad"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/c91902cec7/incidents
{
"host": "fetchsandbox.com",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a"
}Response headers were not saved in this run.
Rebuilt curl
curl --request GET 'https://fetchsandbox.com/sandbox/c91902cec7/incidents' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
github · GET /repos/acme/checkout/pulls/4/reviews · HTTP 404
We sent
GET /repos/acme/checkout/pulls/4/reviews
No body shown for this read.
Server returned
HTTP 404
{
"errors": [
{
"status": "404",
"code": "EGeneral:Unknown method",
"detail": "No route matches GET /repos/acme/checkout/pulls/4/reviews"
}
]
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/3de250868c/repos/acme/checkout/pulls/4/reviews
{
"host": "fetchsandbox.com",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a"
}Response headers were not saved in this run.
Rebuilt curl
curl --request GET 'https://fetchsandbox.com/sandbox/3de250868c/repos/acme/checkout/pulls/4/reviews' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
slack · POST /api/chat.postMessage · HTTP 200
We sent
POST /api/chat.postMessage
{
"channel": "C0PLATFORM1",
"text": ":no_entry: CHG-normal-change-needs-cab (acme/checkout#4) blocked: the pull request could not be read.",
"unfurl_links": false,
"unfurl_media": false
}Server returned
HTTP 200
{
"channel": "C0PLATFORM1",
"message": {
"bot_id": "bot_5e2ee6117ff548178f17d85988",
"client_msg_id": "cli_56a55b5bb2874adfa054bb3c0d",
"name": "item-473bd8",
"old_name": "Sample Old",
"parent_user_id": "par_3bd645e7e8a3403bba51c6af2e",
"permalink": "my-resource",
"reply_count": 0,
"reply_users_count": 0,
"text": "Sample text content",
"ts": "sample-value",
"type": "default",
"unread_count": 0,
"username": "acme-corp"
},
"ok": true,
"ts": "17C8IJ93XU.J98Y7T"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/a097942801/api/chat.postMessage
{
"host": "fetchsandbox.com",
"content-length": "178",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"content-type": "application/json; charset=utf-8"
}Response headers were not saved in this run.
Rebuilt curl
curl --request POST 'https://fetchsandbox.com/sandbox/a097942801/api/chat.postMessage' \
--header 'host: fetchsandbox.com' \
--header 'user-agent: node' \
--header 'accept: application/json' \
--header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \
--header 'content-type: application/json; charset=utf-8' \
--data-raw '{
"channel": "C0PLATFORM1",
"text": ":no_entry: CHG-normal-change-needs-cab (acme/checkout#4) blocked: the pull request could not be read.",
"unfurl_links": false,
"unfurl_media": false
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
The change's author can't approve it
author_cannot_approveWhat we probed
The change's author can't approve it
How we probed it
Frozen intended probe steps. Recorded requests show what actually ran.
POST /invocationsPOST /invocations
Expected vs actual
- Expected
- The change's author can't approve it
- Actual
- app action expected HTTP 403, received 404
Requests and responses
01GET /verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/author_cannot_approve/runs200
We sent
GET /verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/author_cannot_approve/runs
This request had no body.
Server returned
HTTP 200
{
"runs": []
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/author_cannot_approve/runs
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "application/json",
"content-length": "11"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/author_cannot_approve/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
02POST /invocations200
We sent
POST /invocations
{
"action": "start",
"runId": "author-cannot-approve-vr_55bd8d33c1bb4538a9936780cce0d10a",
"input": {
"changeId": "CHG-author-cannot-approve",
"repo": "acme/checkout",
"pullRequest": 4,
"service": {
"name": "checkout",
"pagerdutyServiceId": "PSVC123",
"monitorIds": [],
"errorRateQuery": "sum:checkout.errors{*}.as_rate()"
},
"type": "normal",
"opsChannel": "C0PLATFORM1",
"approvers": [
"U_CAB_1",
"octocat"
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"fs_case": "author_cannot_approve"
}
}Server returned
HTTP 200
{
"runId": "author-cannot-approve-vr_55bd8d33c1bb4538a9936780cce0d10a",
"workflow": "change-management-gate",
"metadata": {
"organization": "Acme",
"company": "Acme Corporation",
"environment": "unconfigured",
"owner": "unassigned",
"department": "unassigned",
"ownerTeam": "unassigned",
"oncall": "unassigned",
"version": "unversioned",
"sourceCommit": "unrecorded"
},
"org": "Engineering",
"team": "platform-ops",
"phase": "DONE",
"closed": true,
"outcome": "partial",
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"fs_case": "author_cannot_approve"
},
"duplicateStarts": 0,
"agents": [
{
"name": "change-check",
"status": "failed",
"error": "github 404 EGeneral:Unknown method: GET /repos/acme/checkout/pulls/4/reviews → 404 EGeneral:Unknown method",
"errorCode": "github:EGeneral:Unknown method",
"durationMs": 253
},
{
"name": "ops-check",
"status": "ok",
"summary": "0 high-urgency incident(s), 0 monitor(s) alerting",
"durationMs": 138
},
{
"name": "gate",
"status": "ok",
"summary": "blocked: the pull request could not be read",
"durationMs": 0
}
],
"actions": [
{
"id": "slack.post_change:blocked",
"kind": "slack.post_change",
"provider": "slack",
"agent": "gate",
"gate": "auto",
"status": "applied",
"summary": {
"channel": "C0PLATFORM1"
},
"attempts": 1,
"ref": "175P82D69P.4PGSED",
"appliedAt": "2026-10-22T20:10:47.482Z",
"reconciled": null
}
],
"counts": {
"applied": 1,
"failed": 0,
"pendingApproval": 0,
"skipped": 0,
"rejected": 0,
"scheduled": 0,
"awaitingSignal": 0,
"compensated": 0
},
"wakeAt": null,
"audit": {
"seq": 4,
"head": "e72b32e2147461606a0eb065a2343a17a3bf3da78a20eb3c596659523e1a9a1e"
},
"output": {
"mode": "blocked",
"reasons": [
"the pull request could not be read"
]
},
"events": [
{
"at": "2026-10-22T20:10:47.096Z",
"msg": "started by U_FETCHSANDBOX"
},
{
"at": "2026-10-22T20:10:47.350Z",
"msg": "agents: change-check=failed, ops-check=ok"
},
{
"at": "2026-10-22T20:10:47.353Z",
"msg": "planned 1 action(s): 0 need approval"
},
{
"at": "2026-10-22T20:10:47.482Z",
"msg": "slack.post_change:blocked: applied"
},
{
"at": "2026-10-22T20:10:47.484Z",
"msg": "done (partial)"
}
],
"createdAt": "2026-10-22T20:10:47.096Z",
"updatedAt": "2026-10-22T20:10:47.484Z",
"duplicate": false
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/invocations
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]",
"content-length": "514",
"content-type": "application/json"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request POST 'https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/invocations' \
--header 'accept: */*' \
--header 'user-agent: python-httpx/0.28.1' \
--header 'host: fetchsandbox.com' \
--header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \
--header 'x-fetchsandbox-relay: [redacted]' \
--header 'authorization: [redacted]' \
--header 'content-type: application/json' \
--data-raw '{
"action": "start",
"runId": "author-cannot-approve-vr_55bd8d33c1bb4538a9936780cce0d10a",
"input": {
"changeId": "CHG-author-cannot-approve",
"repo": "acme/checkout",
"pullRequest": 4,
"service": {
"name": "checkout",
"pagerdutyServiceId": "PSVC123",
"monitorIds": [],
"errorRateQuery": "sum:checkout.errors{*}.as_rate()"
},
"type": "normal",
"opsChannel": "C0PLATFORM1",
"approvers": [
"U_CAB_1",
"octocat"
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"fs_case": "author_cannot_approve"
}
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
03POST /invocations404
We sent
POST /invocations
{
"action": "signal",
"runId": "author-cannot-approve-vr_55bd8d33c1bb4538a9936780cce0d10a",
"actionId": "cab.approve:CHG-author-cannot-approve",
"value": "approve",
"userId": "octocat"
}Server returned
HTTP 404
{
"result": "no_such_signal",
"runId": "author-cannot-approve-vr_55bd8d33c1bb4538a9936780cce0d10a",
"actionId": "cab.approve:CHG-author-cannot-approve"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/invocations
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]",
"content-length": "175",
"content-type": "application/json"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request POST 'https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/invocations' \
--header 'accept: */*' \
--header 'user-agent: python-httpx/0.28.1' \
--header 'host: fetchsandbox.com' \
--header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \
--header 'x-fetchsandbox-relay: [redacted]' \
--header 'authorization: [redacted]' \
--header 'content-type: application/json' \
--data-raw '{
"action": "signal",
"runId": "author-cannot-approve-vr_55bd8d33c1bb4538a9936780cce0d10a",
"actionId": "cab.approve:CHG-author-cannot-approve",
"value": "approve",
"userId": "octocat"
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Evidence
- Run
vr_55bd8d33c1bb4538a9936780cce0d10a- App version (declared)
acme-ops-change-management-g…- Source receipt
- Source receipt ↗
Technical reference
author_cannot_approveApp version (declared): acme-ops-change-management-gate-1.0.0-06c2f09
The change's author can't approve it
app action expected HTTP 403, received 404
- Verification covers the declared HTTP actions and state reads in this run.
- The app version shown was supplied by the app itself, not independently checked.
- Passing all checks in this run does not certify the whole app as production-ready.
- The verifier session does not survive a restart. This says nothing about the durability of the app under test.
- App state shown here is what the app's own endpoint reported. It is not independently checked against the database.
Provider traffic in the same time window (4)
These calls were recorded during the same request window as this check but are not directly linked to it. Timing alone is not proof that they caused or were caused by this check.
github · GET /repos/acme/checkout/pulls/4 · HTTP 200
We sent
GET /repos/acme/checkout/pulls/4
No body shown for this read.
Server returned
HTTP 200
{
"id": 25,
"number": 4,
"title": "Fix checkout rounding",
"body": null,
"state": "open",
"head": "fix-rounding",
"base": "main",
"draft": true,
"merged": false,
"mergeable": true,
"additions": 84,
"deletions": 55,
"changed_files": 76,
"created_at": "2026-10-22T20:09:25.589171+00:00",
"updated_at": "2026-10-22T20:09:25.589196+00:00",
"merged_at": null
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/3de250868c/repos/acme/checkout/pulls/4
{
"host": "fetchsandbox.com",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a"
}Response headers were not saved in this run.
Rebuilt curl
curl --request GET 'https://fetchsandbox.com/sandbox/3de250868c/repos/acme/checkout/pulls/4' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
pagerduty · GET /incidents · HTTP 200
We sent
GET /incidents
No body shown for this read.
Server returned
HTTP 200
{
"ending_before": "sample-value",
"filters": {
"created_at_end": "2023-06-01T00:00:00-04:00",
"created_at_start": "2023-05-01T00:00:00-04:00",
"incident_type_ids": [
"PIJ90N7",
"PKL73Z2"
],
"major": true,
"priority_ids": [
"PITMC5Y",
"PEHBBT8",
"PB8QADI"
],
"priority_names": [
"P1",
"P2",
"P3"
],
"service_ids": [
"PC8O0L3",
"PX01HJD",
"P5FK83M"
],
"team_ids": [
"P373JQQ",
"PAECHJV",
"P7SYGW6"
],
"updated_after": "sample-value",
"urgency": "high"
},
"limit": 20,
"order": "asc",
"order_by": "created_at",
"starting_after": "sample-value",
"time_zone": "UTC",
"name": "Sample Incident 1",
"responder_id": "9686c801-360b-4156-8901-94f5fd939dad"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/c91902cec7/incidents
{
"host": "fetchsandbox.com",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a"
}Response headers were not saved in this run.
Rebuilt curl
curl --request GET 'https://fetchsandbox.com/sandbox/c91902cec7/incidents' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
github · GET /repos/acme/checkout/pulls/4/reviews · HTTP 404
We sent
GET /repos/acme/checkout/pulls/4/reviews
No body shown for this read.
Server returned
HTTP 404
{
"errors": [
{
"status": "404",
"code": "EGeneral:Unknown method",
"detail": "No route matches GET /repos/acme/checkout/pulls/4/reviews"
}
]
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/3de250868c/repos/acme/checkout/pulls/4/reviews
{
"host": "fetchsandbox.com",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a"
}Response headers were not saved in this run.
Rebuilt curl
curl --request GET 'https://fetchsandbox.com/sandbox/3de250868c/repos/acme/checkout/pulls/4/reviews' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
slack · POST /api/chat.postMessage · HTTP 200
We sent
POST /api/chat.postMessage
{
"channel": "C0PLATFORM1",
"text": ":no_entry: CHG-author-cannot-approve (acme/checkout#4) blocked: the pull request could not be read.",
"unfurl_links": false,
"unfurl_media": false
}Server returned
HTTP 200
{
"channel": "C0PLATFORM1",
"message": {
"bot_id": "bot_52c7393cb0974740bbbb18619a",
"client_msg_id": "cli_57a9f0a1dfb54b1b8d75993ae7",
"name": "item-5bb97e",
"old_name": "Sample Old",
"parent_user_id": "par_2185e0108be54c0b971bb700dd",
"permalink": "my-resource",
"reply_count": 0,
"reply_users_count": 0,
"text": "Sample text content",
"ts": "sample-value",
"type": "default",
"unread_count": 0,
"username": "acme-corp"
},
"ok": true,
"ts": "175P82D69P.4PGSED"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/a097942801/api/chat.postMessage
{
"host": "fetchsandbox.com",
"content-length": "176",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"content-type": "application/json; charset=utf-8"
}Response headers were not saved in this run.
Rebuilt curl
curl --request POST 'https://fetchsandbox.com/sandbox/a097942801/api/chat.postMessage' \
--header 'host: fetchsandbox.com' \
--header 'user-agent: node' \
--header 'accept: application/json' \
--header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \
--header 'content-type: application/json; charset=utf-8' \
--data-raw '{
"channel": "C0PLATFORM1",
"text": ":no_entry: CHG-author-cannot-approve (acme/checkout#4) blocked: the pull request could not be read.",
"unfurl_links": false,
"unfurl_media": false
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
After a healthy 15-minute watch the deployment is marked successful (needs clock control)
healthy_watch_marks_successWhat we probed
After a healthy 15-minute watch the deployment is marked successful (needs clock control)
How we probed it
Frozen intended probe steps. Recorded requests show what actually ran.
POST /invocationsPOST /invocations
Expected vs actual
- Expected
- After a healthy 15-minute watch the deployment is marked successful (needs clock control)
- Actual
- expected exactly 1, found 0; stable under 2 repeats (0)
Requests and responses
01GET /verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/healthy_watch_marks_success/runs200
We sent
GET /verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/healthy_watch_marks_success/runs
This request had no body.
Server returned
HTTP 200
{
"runs": []
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/healthy_watch_marks_success/runs
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "application/json",
"content-length": "11"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/healthy_watch_marks_success/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
02POST /invocations200
We sent
POST /invocations
{
"action": "start",
"runId": "healthy-watch-marks-success-vr_55bd8d33c1bb4538a9936780cce0d10a",
"input": {
"changeId": "CHG-healthy-watch-marks-success",
"repo": "acme/checkout",
"pullRequest": 4,
"service": {
"name": "checkout",
"pagerdutyServiceId": "PSVC123",
"monitorIds": [],
"errorRateQuery": "sum:checkout.errors{*}.as_rate()"
},
"type": "standard",
"opsChannel": "C0PLATFORM1",
"approvers": [
"U_CAB_1",
"U_CAB_2"
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"fs_case": "healthy_watch_marks_success"
}
}Server returned
HTTP 200
{
"runId": "healthy-watch-marks-success-vr_55bd8d33c1bb4538a9936780cce0d10a",
"workflow": "change-management-gate",
"metadata": {
"organization": "Acme",
"company": "Acme Corporation",
"environment": "unconfigured",
"owner": "unassigned",
"department": "unassigned",
"ownerTeam": "unassigned",
"oncall": "unassigned",
"version": "unversioned",
"sourceCommit": "unrecorded"
},
"org": "Engineering",
"team": "platform-ops",
"phase": "DONE",
"closed": true,
"outcome": "partial",
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"fs_case": "healthy_watch_marks_success"
},
"duplicateStarts": 0,
"agents": [
{
"name": "change-check",
"status": "failed",
"error": "github 404 EGeneral:Unknown method: GET /repos/acme/checkout/pulls/4/reviews → 404 EGeneral:Unknown method",
"errorCode": "github:EGeneral:Unknown method",
"durationMs": 241
},
{
"name": "ops-check",
"status": "ok",
"summary": "0 high-urgency incident(s), 0 monitor(s) alerting",
"durationMs": 123
},
{
"name": "gate",
"status": "ok",
"summary": "blocked: the pull request could not be read",
"durationMs": 0
}
],
"actions": [
{
"id": "slack.post_change:blocked",
"kind": "slack.post_change",
"provider": "slack",
"agent": "gate",
"gate": "auto",
"status": "applied",
"summary": {
"channel": "C0PLATFORM1"
},
"attempts": 1,
"ref": "171AIAPWZ4.U48FM0",
"appliedAt": "2026-10-22T20:10:48.452Z",
"reconciled": null
}
],
"counts": {
"applied": 1,
"failed": 0,
"pendingApproval": 0,
"skipped": 0,
"rejected": 0,
"scheduled": 0,
"awaitingSignal": 0,
"compensated": 0
},
"wakeAt": null,
"audit": {
"seq": 4,
"head": "d388fef340addf8976f71fa3e53ba6b4e70278690c8e83dec7ae108bd61d78d9"
},
"output": {
"mode": "blocked",
"reasons": [
"the pull request could not be read"
]
},
"events": [
{
"at": "2026-10-22T20:10:48.073Z",
"msg": "started by U_FETCHSANDBOX"
},
{
"at": "2026-10-22T20:10:48.315Z",
"msg": "agents: change-check=failed, ops-check=ok"
},
{
"at": "2026-10-22T20:10:48.318Z",
"msg": "planned 1 action(s): 0 need approval"
},
{
"at": "2026-10-22T20:10:48.453Z",
"msg": "slack.post_change:blocked: applied"
},
{
"at": "2026-10-22T20:10:48.455Z",
"msg": "done (partial)"
}
],
"createdAt": "2026-10-22T20:10:48.073Z",
"updatedAt": "2026-10-22T20:10:48.455Z",
"duplicate": false
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/invocations
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]",
"content-length": "534",
"content-type": "application/json"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request POST 'https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/invocations' \
--header 'accept: */*' \
--header 'user-agent: python-httpx/0.28.1' \
--header 'host: fetchsandbox.com' \
--header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \
--header 'x-fetchsandbox-relay: [redacted]' \
--header 'authorization: [redacted]' \
--header 'content-type: application/json' \
--data-raw '{
"action": "start",
"runId": "healthy-watch-marks-success-vr_55bd8d33c1bb4538a9936780cce0d10a",
"input": {
"changeId": "CHG-healthy-watch-marks-success",
"repo": "acme/checkout",
"pullRequest": 4,
"service": {
"name": "checkout",
"pagerdutyServiceId": "PSVC123",
"monitorIds": [],
"errorRateQuery": "sum:checkout.errors{*}.as_rate()"
},
"type": "standard",
"opsChannel": "C0PLATFORM1",
"approvers": [
"U_CAB_1",
"U_CAB_2"
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"fs_case": "healthy_watch_marks_success"
}
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
03POST /invocations200
We sent
POST /invocations
{
"action": "tick"
}Server returned
HTTP 200
{
"woken": []
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/invocations
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]",
"content-length": "17",
"content-type": "application/json"
}{
"content-type": "application/json",
"content-length": "12"
}Rebuilt curl
curl --request POST 'https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/invocations' \
--header 'accept: */*' \
--header 'user-agent: python-httpx/0.28.1' \
--header 'host: fetchsandbox.com' \
--header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \
--header 'x-fetchsandbox-relay: [redacted]' \
--header 'authorization: [redacted]' \
--header 'content-type: application/json' \
--data-raw '{
"action": "tick"
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
04GET /verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/healthy_watch_marks_success/runs200
We sent
GET /verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/healthy_watch_marks_success/runs
This request had no body.
Server returned
HTTP 200
{
"runs": [
{
"runId": "healthy-watch-marks-success-vr_55bd8d33c1bb4538a9936780cce0d10a",
"workflow": "change-management-gate",
"metadata": {
"organization": "Acme",
"company": "Acme Corporation",
"environment": "unconfigured",
"owner": "unassigned",
"department": "unassigned",
"ownerTeam": "unassigned",
"oncall": "unassigned",
"version": "unversioned",
"sourceCommit": "unrecorded"
},
"org": "Engineering",
"team": "platform-ops",
"phase": "DONE",
"closed": true,
"outcome": "partial",
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"fs_case": "healthy_watch_marks_success"
},
"duplicateStarts": 0,
"agents": [
{
"name": "change-check",
"status": "failed",
"error": "github 404 EGeneral:Unknown method: GET /repos/acme/checkout/pulls/4/reviews → 404 EGeneral:Unknown method",
"errorCode": "github:EGeneral:Unknown method",
"durationMs": 241
},
{
"name": "ops-check",
"status": "ok",
"summary": "0 high-urgency incident(s), 0 monitor(s) alerting",
"durationMs": 123
},
{
"name": "gate",
"status": "ok",
"summary": "blocked: the pull request could not be read",
"durationMs": 0
}
],
"actions": [
{
"id": "slack.post_change:blocked",
"kind": "slack.post_change",
"provider": "slack",
"agent": "gate",
"gate": "auto",
"status": "applied",
"summary": {
"channel": "C0PLATFORM1"
},
"attempts": 1,
"ref": "171AIAPWZ4.U48FM0",
"appliedAt": "2026-10-22T20:10:48.452Z",
"reconciled": null
}
],
"counts": {
"applied": 1,
"failed": 0,
"pendingApproval": 0,
"skipped": 0,
"rejected": 0,
"scheduled": 0,
"awaitingSignal": 0,
"compensated": 0
},
"wakeAt": null,
"audit": {
"seq": 4,
"head": "d388fef340addf8976f71fa3e53ba6b4e70278690c8e83dec7ae108bd61d78d9"
},
"output": {
"mode": "blocked",
"reasons": [
"the pull request could not be read"
]
},
"events": [
{
"at": "2026-10-22T20:10:48.073Z",
"msg": "started by U_FETCHSANDBOX"
},
{
"at": "2026-10-22T20:10:48.315Z",
"msg": "agents: change-check=failed, ops-check=ok"
},
{
"at": "2026-10-22T20:10:48.318Z",
"msg": "planned 1 action(s): 0 need approval"
},
{
"at": "2026-10-22T20:10:48.453Z",
"msg": "slack.post_change:blocked: applied"
},
{
"at": "2026-10-22T20:10:48.455Z",
"msg": "done (partial)"
}
],
"createdAt": "2026-10-22T20:10:48.073Z",
"updatedAt": "2026-10-22T20:10:48.455Z"
}
]
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/healthy_watch_marks_success/runs
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/healthy_watch_marks_success/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
05POST /invocations200
We sent
POST /invocations
{
"action": "start",
"runId": "healthy-watch-marks-success-vr_55bd8d33c1bb4538a9936780cce0d10a",
"input": {
"changeId": "CHG-healthy-watch-marks-success",
"repo": "acme/checkout",
"pullRequest": 4,
"service": {
"name": "checkout",
"pagerdutyServiceId": "PSVC123",
"monitorIds": [],
"errorRateQuery": "sum:checkout.errors{*}.as_rate()"
},
"type": "standard",
"opsChannel": "C0PLATFORM1",
"approvers": [
"U_CAB_1",
"U_CAB_2"
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"fs_case": "healthy_watch_marks_success"
}
}Server returned
HTTP 200
{
"runId": "healthy-watch-marks-success-vr_55bd8d33c1bb4538a9936780cce0d10a",
"workflow": "change-management-gate",
"metadata": {
"organization": "Acme",
"company": "Acme Corporation",
"environment": "unconfigured",
"owner": "unassigned",
"department": "unassigned",
"ownerTeam": "unassigned",
"oncall": "unassigned",
"version": "unversioned",
"sourceCommit": "unrecorded"
},
"org": "Engineering",
"team": "platform-ops",
"phase": "DONE",
"closed": true,
"outcome": "partial",
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"fs_case": "healthy_watch_marks_success"
},
"duplicateStarts": 1,
"agents": [
{
"name": "change-check",
"status": "failed",
"error": "github 404 EGeneral:Unknown method: GET /repos/acme/checkout/pulls/4/reviews → 404 EGeneral:Unknown method",
"errorCode": "github:EGeneral:Unknown method",
"durationMs": 241
},
{
"name": "ops-check",
"status": "ok",
"summary": "0 high-urgency incident(s), 0 monitor(s) alerting",
"durationMs": 123
},
{
"name": "gate",
"status": "ok",
"summary": "blocked: the pull request could not be read",
"durationMs": 0
}
],
"actions": [
{
"id": "slack.post_change:blocked",
"kind": "slack.post_change",
"provider": "slack",
"agent": "gate",
"gate": "auto",
"status": "applied",
"summary": {
"channel": "C0PLATFORM1"
},
"attempts": 1,
"ref": "171AIAPWZ4.U48FM0",
"appliedAt": "2026-10-22T20:10:48.452Z",
"reconciled": null
}
],
"counts": {
"applied": 1,
"failed": 0,
"pendingApproval": 0,
"skipped": 0,
"rejected": 0,
"scheduled": 0,
"awaitingSignal": 0,
"compensated": 0
},
"wakeAt": null,
"audit": {
"seq": 5,
"head": "cfc5081157d9e6d7e62a4c949bedcb7ba86eb5f1791885f5cde99879bb6d15f5"
},
"output": {
"mode": "blocked",
"reasons": [
"the pull request could not be read"
]
},
"events": [
{
"at": "2026-10-22T20:10:48.073Z",
"msg": "started by U_FETCHSANDBOX"
},
{
"at": "2026-10-22T20:10:48.315Z",
"msg": "agents: change-check=failed, ops-check=ok"
},
{
"at": "2026-10-22T20:10:48.318Z",
"msg": "planned 1 action(s): 0 need approval"
},
{
"at": "2026-10-22T20:10:48.453Z",
"msg": "slack.post_change:blocked: applied"
},
{
"at": "2026-10-22T20:10:48.455Z",
"msg": "done (partial)"
},
{
"at": "2026-10-22T20:10:49.174Z",
"msg": "duplicate start ignored"
}
],
"createdAt": "2026-10-22T20:10:48.073Z",
"updatedAt": "2026-10-22T20:10:49.174Z",
"duplicate": true
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/invocations
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]",
"content-length": "534",
"content-type": "application/json"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request POST 'https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/invocations' \
--header 'accept: */*' \
--header 'user-agent: python-httpx/0.28.1' \
--header 'host: fetchsandbox.com' \
--header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \
--header 'x-fetchsandbox-relay: [redacted]' \
--header 'authorization: [redacted]' \
--header 'content-type: application/json' \
--data-raw '{
"action": "start",
"runId": "healthy-watch-marks-success-vr_55bd8d33c1bb4538a9936780cce0d10a",
"input": {
"changeId": "CHG-healthy-watch-marks-success",
"repo": "acme/checkout",
"pullRequest": 4,
"service": {
"name": "checkout",
"pagerdutyServiceId": "PSVC123",
"monitorIds": [],
"errorRateQuery": "sum:checkout.errors{*}.as_rate()"
},
"type": "standard",
"opsChannel": "C0PLATFORM1",
"approvers": [
"U_CAB_1",
"U_CAB_2"
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"fs_case": "healthy_watch_marks_success"
}
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
06POST /invocations200
We sent
POST /invocations
{
"action": "tick"
}Server returned
HTTP 200
{
"woken": []
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/invocations
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]",
"content-length": "17",
"content-type": "application/json"
}{
"content-type": "application/json",
"content-length": "12"
}Rebuilt curl
curl --request POST 'https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/invocations' \
--header 'accept: */*' \
--header 'user-agent: python-httpx/0.28.1' \
--header 'host: fetchsandbox.com' \
--header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \
--header 'x-fetchsandbox-relay: [redacted]' \
--header 'authorization: [redacted]' \
--header 'content-type: application/json' \
--data-raw '{
"action": "tick"
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
07GET /verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/healthy_watch_marks_success/runs200
We sent
GET /verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/healthy_watch_marks_success/runs
This request had no body.
Server returned
HTTP 200
{
"runs": [
{
"runId": "healthy-watch-marks-success-vr_55bd8d33c1bb4538a9936780cce0d10a",
"workflow": "change-management-gate",
"metadata": {
"organization": "Acme",
"company": "Acme Corporation",
"environment": "unconfigured",
"owner": "unassigned",
"department": "unassigned",
"ownerTeam": "unassigned",
"oncall": "unassigned",
"version": "unversioned",
"sourceCommit": "unrecorded"
},
"org": "Engineering",
"team": "platform-ops",
"phase": "DONE",
"closed": true,
"outcome": "partial",
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"fs_case": "healthy_watch_marks_success"
},
"duplicateStarts": 1,
"agents": [
{
"name": "change-check",
"status": "failed",
"error": "github 404 EGeneral:Unknown method: GET /repos/acme/checkout/pulls/4/reviews → 404 EGeneral:Unknown method",
"errorCode": "github:EGeneral:Unknown method",
"durationMs": 241
},
{
"name": "ops-check",
"status": "ok",
"summary": "0 high-urgency incident(s), 0 monitor(s) alerting",
"durationMs": 123
},
{
"name": "gate",
"status": "ok",
"summary": "blocked: the pull request could not be read",
"durationMs": 0
}
],
"actions": [
{
"id": "slack.post_change:blocked",
"kind": "slack.post_change",
"provider": "slack",
"agent": "gate",
"gate": "auto",
"status": "applied",
"summary": {
"channel": "C0PLATFORM1"
},
"attempts": 1,
"ref": "171AIAPWZ4.U48FM0",
"appliedAt": "2026-10-22T20:10:48.452Z",
"reconciled": null
}
],
"counts": {
"applied": 1,
"failed": 0,
"pendingApproval": 0,
"skipped": 0,
"rejected": 0,
"scheduled": 0,
"awaitingSignal": 0,
"compensated": 0
},
"wakeAt": null,
"audit": {
"seq": 5,
"head": "cfc5081157d9e6d7e62a4c949bedcb7ba86eb5f1791885f5cde99879bb6d15f5"
},
"output": {
"mode": "blocked",
"reasons": [
"the pull request could not be read"
]
},
"events": [
{
"at": "2026-10-22T20:10:48.073Z",
"msg": "started by U_FETCHSANDBOX"
},
{
"at": "2026-10-22T20:10:48.315Z",
"msg": "agents: change-check=failed, ops-check=ok"
},
{
"at": "2026-10-22T20:10:48.318Z",
"msg": "planned 1 action(s): 0 need approval"
},
{
"at": "2026-10-22T20:10:48.453Z",
"msg": "slack.post_change:blocked: applied"
},
{
"at": "2026-10-22T20:10:48.455Z",
"msg": "done (partial)"
},
{
"at": "2026-10-22T20:10:49.174Z",
"msg": "duplicate start ignored"
}
],
"createdAt": "2026-10-22T20:10:48.073Z",
"updatedAt": "2026-10-22T20:10:49.174Z"
}
]
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/healthy_watch_marks_success/runs
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/healthy_watch_marks_success/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Evidence
- Run
vr_55bd8d33c1bb4538a9936780cce0d10a- App version (declared)
acme-ops-change-management-g…- Source receipt
- Source receipt ↗
Technical reference
healthy_watch_marks_successApp version (declared): acme-ops-change-management-gate-1.0.0-06c2f09
After a healthy 15-minute watch the deployment is marked successful (needs clock control)
expected exactly 1, found 0; stable under 2 repeats (0)
- Verification covers the declared HTTP actions and state reads in this run.
- The app version shown was supplied by the app itself, not independently checked.
- Passing all checks in this run does not certify the whole app as production-ready.
- The verifier session does not survive a restart. This says nothing about the durability of the app under test.
- App state shown here is what the app's own endpoint reported. It is not independently checked against the database.
Provider traffic in the same time window (4)
These calls were recorded during the same request window as this check but are not directly linked to it. Timing alone is not proof that they caused or were caused by this check.
pagerduty · GET /incidents · HTTP 200
We sent
GET /incidents
No body shown for this read.
Server returned
HTTP 200
{
"ending_before": "sample-value",
"filters": {
"created_at_end": "2023-06-01T00:00:00-04:00",
"created_at_start": "2023-05-01T00:00:00-04:00",
"incident_type_ids": [
"PIJ90N7",
"PKL73Z2"
],
"major": true,
"priority_ids": [
"PITMC5Y",
"PEHBBT8",
"PB8QADI"
],
"priority_names": [
"P1",
"P2",
"P3"
],
"service_ids": [
"PC8O0L3",
"PX01HJD",
"P5FK83M"
],
"team_ids": [
"P373JQQ",
"PAECHJV",
"P7SYGW6"
],
"updated_after": "sample-value",
"urgency": "high"
},
"limit": 20,
"order": "asc",
"order_by": "created_at",
"starting_after": "sample-value",
"time_zone": "UTC",
"name": "Sample Incident 1",
"responder_id": "9686c801-360b-4156-8901-94f5fd939dad"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/c91902cec7/incidents
{
"host": "fetchsandbox.com",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a"
}Response headers were not saved in this run.
Rebuilt curl
curl --request GET 'https://fetchsandbox.com/sandbox/c91902cec7/incidents' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
github · GET /repos/acme/checkout/pulls/4 · HTTP 200
We sent
GET /repos/acme/checkout/pulls/4
No body shown for this read.
Server returned
HTTP 200
{
"id": 25,
"number": 4,
"title": "Fix checkout rounding",
"body": null,
"state": "open",
"head": "fix-rounding",
"base": "main",
"draft": true,
"merged": false,
"mergeable": true,
"additions": 84,
"deletions": 55,
"changed_files": 76,
"created_at": "2026-10-22T20:09:25.589171+00:00",
"updated_at": "2026-10-22T20:09:25.589196+00:00",
"merged_at": null
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/3de250868c/repos/acme/checkout/pulls/4
{
"host": "fetchsandbox.com",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a"
}Response headers were not saved in this run.
Rebuilt curl
curl --request GET 'https://fetchsandbox.com/sandbox/3de250868c/repos/acme/checkout/pulls/4' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
github · GET /repos/acme/checkout/pulls/4/reviews · HTTP 404
We sent
GET /repos/acme/checkout/pulls/4/reviews
No body shown for this read.
Server returned
HTTP 404
{
"errors": [
{
"status": "404",
"code": "EGeneral:Unknown method",
"detail": "No route matches GET /repos/acme/checkout/pulls/4/reviews"
}
]
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/3de250868c/repos/acme/checkout/pulls/4/reviews
{
"host": "fetchsandbox.com",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a"
}Response headers were not saved in this run.
Rebuilt curl
curl --request GET 'https://fetchsandbox.com/sandbox/3de250868c/repos/acme/checkout/pulls/4/reviews' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
slack · POST /api/chat.postMessage · HTTP 200
We sent
POST /api/chat.postMessage
{
"channel": "C0PLATFORM1",
"text": ":no_entry: CHG-healthy-watch-marks-success (acme/checkout#4) blocked: the pull request could not be read.",
"unfurl_links": false,
"unfurl_media": false
}Server returned
HTTP 200
{
"channel": "C0PLATFORM1",
"message": {
"bot_id": "bot_f835f8c6fd824de18695c268b3",
"client_msg_id": "cli_a8fff7c0f3ea44eca42e408f5c",
"name": "item-229f74",
"old_name": "Sample Old",
"parent_user_id": "par_0fae8c9714ac4921b54525bf39",
"permalink": "my-resource",
"reply_count": 0,
"reply_users_count": 0,
"text": "Sample text content",
"ts": "sample-value",
"type": "default",
"unread_count": 0,
"username": "acme-corp"
},
"ok": true,
"ts": "171AIAPWZ4.U48FM0"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/a097942801/api/chat.postMessage
{
"host": "fetchsandbox.com",
"content-length": "182",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"content-type": "application/json; charset=utf-8"
}Response headers were not saved in this run.
Rebuilt curl
curl --request POST 'https://fetchsandbox.com/sandbox/a097942801/api/chat.postMessage' \
--header 'host: fetchsandbox.com' \
--header 'user-agent: node' \
--header 'accept: application/json' \
--header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \
--header 'content-type: application/json; charset=utf-8' \
--data-raw '{
"channel": "C0PLATFORM1",
"text": ":no_entry: CHG-healthy-watch-marks-success (acme/checkout#4) blocked: the pull request could not be read.",
"unfurl_links": false,
"unfurl_media": false
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
A degraded watch window rolls the deployment back (needs clock control and a scriptable error rate)
degraded_watch_rolls_backWhat we probed
A degraded watch window rolls the deployment back (needs clock control and a scriptable error rate)
How we probed it
Frozen intended probe steps. Recorded requests show what actually ran.
POST /invocationsPOST /invocations
Expected vs actual
- Expected
- A degraded watch window rolls the deployment back (needs clock control and a scriptable error rate)
- Actual
- expected exactly 1, found 0; stable under 2 repeats (0)
Requests and responses
01GET /verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/degraded_watch_rolls_back/runs200
We sent
GET /verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/degraded_watch_rolls_back/runs
This request had no body.
Server returned
HTTP 200
{
"runs": []
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/degraded_watch_rolls_back/runs
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "application/json",
"content-length": "11"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/degraded_watch_rolls_back/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
02POST /invocations200
We sent
POST /invocations
{
"action": "start",
"runId": "degraded-watch-rolls-back-vr_55bd8d33c1bb4538a9936780cce0d10a",
"input": {
"changeId": "CHG-degraded-watch-rolls-back",
"repo": "acme/checkout",
"pullRequest": 4,
"service": {
"name": "checkout",
"pagerdutyServiceId": "PSVC123",
"monitorIds": [],
"errorRateQuery": "sum:checkout.errors{*}.as_rate()"
},
"type": "standard",
"opsChannel": "C0PLATFORM1",
"approvers": [
"U_CAB_1",
"U_CAB_2"
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"fs_case": "degraded_watch_rolls_back"
}
}Server returned
HTTP 200
{
"runId": "degraded-watch-rolls-back-vr_55bd8d33c1bb4538a9936780cce0d10a",
"workflow": "change-management-gate",
"metadata": {
"organization": "Acme",
"company": "Acme Corporation",
"environment": "unconfigured",
"owner": "unassigned",
"department": "unassigned",
"ownerTeam": "unassigned",
"oncall": "unassigned",
"version": "unversioned",
"sourceCommit": "unrecorded"
},
"org": "Engineering",
"team": "platform-ops",
"phase": "DONE",
"closed": true,
"outcome": "partial",
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"fs_case": "degraded_watch_rolls_back"
},
"duplicateStarts": 0,
"agents": [
{
"name": "change-check",
"status": "failed",
"error": "github 404 EGeneral:Unknown method: GET /repos/acme/checkout/pulls/4/reviews → 404 EGeneral:Unknown method",
"errorCode": "github:EGeneral:Unknown method",
"durationMs": 232
},
{
"name": "ops-check",
"status": "ok",
"summary": "0 high-urgency incident(s), 0 monitor(s) alerting",
"durationMs": 134
},
{
"name": "gate",
"status": "ok",
"summary": "blocked: the pull request could not be read",
"durationMs": 0
}
],
"actions": [
{
"id": "slack.post_change:blocked",
"kind": "slack.post_change",
"provider": "slack",
"agent": "gate",
"gate": "auto",
"status": "applied",
"summary": {
"channel": "C0PLATFORM1"
},
"attempts": 1,
"ref": "17164S4I3T.7PBGOO",
"appliedAt": "2026-10-22T20:10:50.424Z",
"reconciled": null
}
],
"counts": {
"applied": 1,
"failed": 0,
"pendingApproval": 0,
"skipped": 0,
"rejected": 0,
"scheduled": 0,
"awaitingSignal": 0,
"compensated": 0
},
"wakeAt": null,
"audit": {
"seq": 4,
"head": "3daf6018120416bf9bea0970375df766ac0157bda06704e3094b41ca95537e5d"
},
"output": {
"mode": "blocked",
"reasons": [
"the pull request could not be read"
]
},
"events": [
{
"at": "2026-10-22T20:10:50.065Z",
"msg": "started by U_FETCHSANDBOX"
},
{
"at": "2026-10-22T20:10:50.299Z",
"msg": "agents: change-check=failed, ops-check=ok"
},
{
"at": "2026-10-22T20:10:50.303Z",
"msg": "planned 1 action(s): 0 need approval"
},
{
"at": "2026-10-22T20:10:50.424Z",
"msg": "slack.post_change:blocked: applied"
},
{
"at": "2026-10-22T20:10:50.426Z",
"msg": "done (partial)"
}
],
"createdAt": "2026-10-22T20:10:50.065Z",
"updatedAt": "2026-10-22T20:10:50.426Z",
"duplicate": false
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/invocations
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]",
"content-length": "528",
"content-type": "application/json"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request POST 'https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/invocations' \
--header 'accept: */*' \
--header 'user-agent: python-httpx/0.28.1' \
--header 'host: fetchsandbox.com' \
--header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \
--header 'x-fetchsandbox-relay: [redacted]' \
--header 'authorization: [redacted]' \
--header 'content-type: application/json' \
--data-raw '{
"action": "start",
"runId": "degraded-watch-rolls-back-vr_55bd8d33c1bb4538a9936780cce0d10a",
"input": {
"changeId": "CHG-degraded-watch-rolls-back",
"repo": "acme/checkout",
"pullRequest": 4,
"service": {
"name": "checkout",
"pagerdutyServiceId": "PSVC123",
"monitorIds": [],
"errorRateQuery": "sum:checkout.errors{*}.as_rate()"
},
"type": "standard",
"opsChannel": "C0PLATFORM1",
"approvers": [
"U_CAB_1",
"U_CAB_2"
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"fs_case": "degraded_watch_rolls_back"
}
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
03POST /invocations200
We sent
POST /invocations
{
"action": "tick"
}Server returned
HTTP 200
{
"woken": []
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/invocations
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]",
"content-length": "17",
"content-type": "application/json"
}{
"content-type": "application/json",
"content-length": "12"
}Rebuilt curl
curl --request POST 'https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/invocations' \
--header 'accept: */*' \
--header 'user-agent: python-httpx/0.28.1' \
--header 'host: fetchsandbox.com' \
--header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \
--header 'x-fetchsandbox-relay: [redacted]' \
--header 'authorization: [redacted]' \
--header 'content-type: application/json' \
--data-raw '{
"action": "tick"
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
04GET /verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/degraded_watch_rolls_back/runs200
We sent
GET /verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/degraded_watch_rolls_back/runs
This request had no body.
Server returned
HTTP 200
{
"runs": [
{
"runId": "degraded-watch-rolls-back-vr_55bd8d33c1bb4538a9936780cce0d10a",
"workflow": "change-management-gate",
"metadata": {
"organization": "Acme",
"company": "Acme Corporation",
"environment": "unconfigured",
"owner": "unassigned",
"department": "unassigned",
"ownerTeam": "unassigned",
"oncall": "unassigned",
"version": "unversioned",
"sourceCommit": "unrecorded"
},
"org": "Engineering",
"team": "platform-ops",
"phase": "DONE",
"closed": true,
"outcome": "partial",
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"fs_case": "degraded_watch_rolls_back"
},
"duplicateStarts": 0,
"agents": [
{
"name": "change-check",
"status": "failed",
"error": "github 404 EGeneral:Unknown method: GET /repos/acme/checkout/pulls/4/reviews → 404 EGeneral:Unknown method",
"errorCode": "github:EGeneral:Unknown method",
"durationMs": 232
},
{
"name": "ops-check",
"status": "ok",
"summary": "0 high-urgency incident(s), 0 monitor(s) alerting",
"durationMs": 134
},
{
"name": "gate",
"status": "ok",
"summary": "blocked: the pull request could not be read",
"durationMs": 0
}
],
"actions": [
{
"id": "slack.post_change:blocked",
"kind": "slack.post_change",
"provider": "slack",
"agent": "gate",
"gate": "auto",
"status": "applied",
"summary": {
"channel": "C0PLATFORM1"
},
"attempts": 1,
"ref": "17164S4I3T.7PBGOO",
"appliedAt": "2026-10-22T20:10:50.424Z",
"reconciled": null
}
],
"counts": {
"applied": 1,
"failed": 0,
"pendingApproval": 0,
"skipped": 0,
"rejected": 0,
"scheduled": 0,
"awaitingSignal": 0,
"compensated": 0
},
"wakeAt": null,
"audit": {
"seq": 4,
"head": "3daf6018120416bf9bea0970375df766ac0157bda06704e3094b41ca95537e5d"
},
"output": {
"mode": "blocked",
"reasons": [
"the pull request could not be read"
]
},
"events": [
{
"at": "2026-10-22T20:10:50.065Z",
"msg": "started by U_FETCHSANDBOX"
},
{
"at": "2026-10-22T20:10:50.299Z",
"msg": "agents: change-check=failed, ops-check=ok"
},
{
"at": "2026-10-22T20:10:50.303Z",
"msg": "planned 1 action(s): 0 need approval"
},
{
"at": "2026-10-22T20:10:50.424Z",
"msg": "slack.post_change:blocked: applied"
},
{
"at": "2026-10-22T20:10:50.426Z",
"msg": "done (partial)"
}
],
"createdAt": "2026-10-22T20:10:50.065Z",
"updatedAt": "2026-10-22T20:10:50.426Z"
}
]
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/degraded_watch_rolls_back/runs
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/degraded_watch_rolls_back/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
05POST /invocations200
We sent
POST /invocations
{
"action": "start",
"runId": "degraded-watch-rolls-back-vr_55bd8d33c1bb4538a9936780cce0d10a",
"input": {
"changeId": "CHG-degraded-watch-rolls-back",
"repo": "acme/checkout",
"pullRequest": 4,
"service": {
"name": "checkout",
"pagerdutyServiceId": "PSVC123",
"monitorIds": [],
"errorRateQuery": "sum:checkout.errors{*}.as_rate()"
},
"type": "standard",
"opsChannel": "C0PLATFORM1",
"approvers": [
"U_CAB_1",
"U_CAB_2"
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"fs_case": "degraded_watch_rolls_back"
}
}Server returned
HTTP 200
{
"runId": "degraded-watch-rolls-back-vr_55bd8d33c1bb4538a9936780cce0d10a",
"workflow": "change-management-gate",
"metadata": {
"organization": "Acme",
"company": "Acme Corporation",
"environment": "unconfigured",
"owner": "unassigned",
"department": "unassigned",
"ownerTeam": "unassigned",
"oncall": "unassigned",
"version": "unversioned",
"sourceCommit": "unrecorded"
},
"org": "Engineering",
"team": "platform-ops",
"phase": "DONE",
"closed": true,
"outcome": "partial",
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"fs_case": "degraded_watch_rolls_back"
},
"duplicateStarts": 1,
"agents": [
{
"name": "change-check",
"status": "failed",
"error": "github 404 EGeneral:Unknown method: GET /repos/acme/checkout/pulls/4/reviews → 404 EGeneral:Unknown method",
"errorCode": "github:EGeneral:Unknown method",
"durationMs": 232
},
{
"name": "ops-check",
"status": "ok",
"summary": "0 high-urgency incident(s), 0 monitor(s) alerting",
"durationMs": 134
},
{
"name": "gate",
"status": "ok",
"summary": "blocked: the pull request could not be read",
"durationMs": 0
}
],
"actions": [
{
"id": "slack.post_change:blocked",
"kind": "slack.post_change",
"provider": "slack",
"agent": "gate",
"gate": "auto",
"status": "applied",
"summary": {
"channel": "C0PLATFORM1"
},
"attempts": 1,
"ref": "17164S4I3T.7PBGOO",
"appliedAt": "2026-10-22T20:10:50.424Z",
"reconciled": null
}
],
"counts": {
"applied": 1,
"failed": 0,
"pendingApproval": 0,
"skipped": 0,
"rejected": 0,
"scheduled": 0,
"awaitingSignal": 0,
"compensated": 0
},
"wakeAt": null,
"audit": {
"seq": 5,
"head": "4017ddb1dc2be56309cf62124c3aab824448874307198b155e2f8bad4698d016"
},
"output": {
"mode": "blocked",
"reasons": [
"the pull request could not be read"
]
},
"events": [
{
"at": "2026-10-22T20:10:50.065Z",
"msg": "started by U_FETCHSANDBOX"
},
{
"at": "2026-10-22T20:10:50.299Z",
"msg": "agents: change-check=failed, ops-check=ok"
},
{
"at": "2026-10-22T20:10:50.303Z",
"msg": "planned 1 action(s): 0 need approval"
},
{
"at": "2026-10-22T20:10:50.424Z",
"msg": "slack.post_change:blocked: applied"
},
{
"at": "2026-10-22T20:10:50.426Z",
"msg": "done (partial)"
},
{
"at": "2026-10-22T20:10:51.106Z",
"msg": "duplicate start ignored"
}
],
"createdAt": "2026-10-22T20:10:50.065Z",
"updatedAt": "2026-10-22T20:10:51.106Z",
"duplicate": true
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/invocations
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]",
"content-length": "528",
"content-type": "application/json"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request POST 'https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/invocations' \
--header 'accept: */*' \
--header 'user-agent: python-httpx/0.28.1' \
--header 'host: fetchsandbox.com' \
--header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \
--header 'x-fetchsandbox-relay: [redacted]' \
--header 'authorization: [redacted]' \
--header 'content-type: application/json' \
--data-raw '{
"action": "start",
"runId": "degraded-watch-rolls-back-vr_55bd8d33c1bb4538a9936780cce0d10a",
"input": {
"changeId": "CHG-degraded-watch-rolls-back",
"repo": "acme/checkout",
"pullRequest": 4,
"service": {
"name": "checkout",
"pagerdutyServiceId": "PSVC123",
"monitorIds": [],
"errorRateQuery": "sum:checkout.errors{*}.as_rate()"
},
"type": "standard",
"opsChannel": "C0PLATFORM1",
"approvers": [
"U_CAB_1",
"U_CAB_2"
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"fs_case": "degraded_watch_rolls_back"
}
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
06POST /invocations200
We sent
POST /invocations
{
"action": "tick"
}Server returned
HTTP 200
{
"woken": []
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/invocations
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]",
"content-length": "17",
"content-type": "application/json"
}{
"content-type": "application/json",
"content-length": "12"
}Rebuilt curl
curl --request POST 'https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/invocations' \
--header 'accept: */*' \
--header 'user-agent: python-httpx/0.28.1' \
--header 'host: fetchsandbox.com' \
--header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \
--header 'x-fetchsandbox-relay: [redacted]' \
--header 'authorization: [redacted]' \
--header 'content-type: application/json' \
--data-raw '{
"action": "tick"
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
07GET /verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/degraded_watch_rolls_back/runs200
We sent
GET /verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/degraded_watch_rolls_back/runs
This request had no body.
Server returned
HTTP 200
{
"runs": [
{
"runId": "degraded-watch-rolls-back-vr_55bd8d33c1bb4538a9936780cce0d10a",
"workflow": "change-management-gate",
"metadata": {
"organization": "Acme",
"company": "Acme Corporation",
"environment": "unconfigured",
"owner": "unassigned",
"department": "unassigned",
"ownerTeam": "unassigned",
"oncall": "unassigned",
"version": "unversioned",
"sourceCommit": "unrecorded"
},
"org": "Engineering",
"team": "platform-ops",
"phase": "DONE",
"closed": true,
"outcome": "partial",
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"fs_case": "degraded_watch_rolls_back"
},
"duplicateStarts": 1,
"agents": [
{
"name": "change-check",
"status": "failed",
"error": "github 404 EGeneral:Unknown method: GET /repos/acme/checkout/pulls/4/reviews → 404 EGeneral:Unknown method",
"errorCode": "github:EGeneral:Unknown method",
"durationMs": 232
},
{
"name": "ops-check",
"status": "ok",
"summary": "0 high-urgency incident(s), 0 monitor(s) alerting",
"durationMs": 134
},
{
"name": "gate",
"status": "ok",
"summary": "blocked: the pull request could not be read",
"durationMs": 0
}
],
"actions": [
{
"id": "slack.post_change:blocked",
"kind": "slack.post_change",
"provider": "slack",
"agent": "gate",
"gate": "auto",
"status": "applied",
"summary": {
"channel": "C0PLATFORM1"
},
"attempts": 1,
"ref": "17164S4I3T.7PBGOO",
"appliedAt": "2026-10-22T20:10:50.424Z",
"reconciled": null
}
],
"counts": {
"applied": 1,
"failed": 0,
"pendingApproval": 0,
"skipped": 0,
"rejected": 0,
"scheduled": 0,
"awaitingSignal": 0,
"compensated": 0
},
"wakeAt": null,
"audit": {
"seq": 5,
"head": "4017ddb1dc2be56309cf62124c3aab824448874307198b155e2f8bad4698d016"
},
"output": {
"mode": "blocked",
"reasons": [
"the pull request could not be read"
]
},
"events": [
{
"at": "2026-10-22T20:10:50.065Z",
"msg": "started by U_FETCHSANDBOX"
},
{
"at": "2026-10-22T20:10:50.299Z",
"msg": "agents: change-check=failed, ops-check=ok"
},
{
"at": "2026-10-22T20:10:50.303Z",
"msg": "planned 1 action(s): 0 need approval"
},
{
"at": "2026-10-22T20:10:50.424Z",
"msg": "slack.post_change:blocked: applied"
},
{
"at": "2026-10-22T20:10:50.426Z",
"msg": "done (partial)"
},
{
"at": "2026-10-22T20:10:51.106Z",
"msg": "duplicate start ignored"
}
],
"createdAt": "2026-10-22T20:10:50.065Z",
"updatedAt": "2026-10-22T20:10:51.106Z"
}
]
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/degraded_watch_rolls_back/runs
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/degraded_watch_rolls_back/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Evidence
- Run
vr_55bd8d33c1bb4538a9936780cce0d10a- App version (declared)
acme-ops-change-management-g…- Source receipt
- Source receipt ↗
Technical reference
degraded_watch_rolls_backApp version (declared): acme-ops-change-management-gate-1.0.0-06c2f09
A degraded watch window rolls the deployment back (needs clock control and a scriptable error rate)
expected exactly 1, found 0; stable under 2 repeats (0)
- Verification covers the declared HTTP actions and state reads in this run.
- The app version shown was supplied by the app itself, not independently checked.
- Passing all checks in this run does not certify the whole app as production-ready.
- The verifier session does not survive a restart. This says nothing about the durability of the app under test.
- App state shown here is what the app's own endpoint reported. It is not independently checked against the database.
Provider traffic in the same time window (4)
These calls were recorded during the same request window as this check but are not directly linked to it. Timing alone is not proof that they caused or were caused by this check.
github · GET /repos/acme/checkout/pulls/4 · HTTP 200
We sent
GET /repos/acme/checkout/pulls/4
No body shown for this read.
Server returned
HTTP 200
{
"id": 25,
"number": 4,
"title": "Fix checkout rounding",
"body": null,
"state": "open",
"head": "fix-rounding",
"base": "main",
"draft": true,
"merged": false,
"mergeable": true,
"additions": 84,
"deletions": 55,
"changed_files": 76,
"created_at": "2026-10-22T20:09:25.589171+00:00",
"updated_at": "2026-10-22T20:09:25.589196+00:00",
"merged_at": null
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/3de250868c/repos/acme/checkout/pulls/4
{
"host": "fetchsandbox.com",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a"
}Response headers were not saved in this run.
Rebuilt curl
curl --request GET 'https://fetchsandbox.com/sandbox/3de250868c/repos/acme/checkout/pulls/4' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
pagerduty · GET /incidents · HTTP 200
We sent
GET /incidents
No body shown for this read.
Server returned
HTTP 200
{
"ending_before": "sample-value",
"filters": {
"created_at_end": "2023-06-01T00:00:00-04:00",
"created_at_start": "2023-05-01T00:00:00-04:00",
"incident_type_ids": [
"PIJ90N7",
"PKL73Z2"
],
"major": true,
"priority_ids": [
"PITMC5Y",
"PEHBBT8",
"PB8QADI"
],
"priority_names": [
"P1",
"P2",
"P3"
],
"service_ids": [
"PC8O0L3",
"PX01HJD",
"P5FK83M"
],
"team_ids": [
"P373JQQ",
"PAECHJV",
"P7SYGW6"
],
"updated_after": "sample-value",
"urgency": "high"
},
"limit": 20,
"order": "asc",
"order_by": "created_at",
"starting_after": "sample-value",
"time_zone": "UTC",
"name": "Sample Incident 1",
"responder_id": "9686c801-360b-4156-8901-94f5fd939dad"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/c91902cec7/incidents
{
"host": "fetchsandbox.com",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a"
}Response headers were not saved in this run.
Rebuilt curl
curl --request GET 'https://fetchsandbox.com/sandbox/c91902cec7/incidents' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
github · GET /repos/acme/checkout/pulls/4/reviews · HTTP 404
We sent
GET /repos/acme/checkout/pulls/4/reviews
No body shown for this read.
Server returned
HTTP 404
{
"errors": [
{
"status": "404",
"code": "EGeneral:Unknown method",
"detail": "No route matches GET /repos/acme/checkout/pulls/4/reviews"
}
]
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/3de250868c/repos/acme/checkout/pulls/4/reviews
{
"host": "fetchsandbox.com",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a"
}Response headers were not saved in this run.
Rebuilt curl
curl --request GET 'https://fetchsandbox.com/sandbox/3de250868c/repos/acme/checkout/pulls/4/reviews' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
slack · POST /api/chat.postMessage · HTTP 200
We sent
POST /api/chat.postMessage
{
"channel": "C0PLATFORM1",
"text": ":no_entry: CHG-degraded-watch-rolls-back (acme/checkout#4) blocked: the pull request could not be read.",
"unfurl_links": false,
"unfurl_media": false
}Server returned
HTTP 200
{
"channel": "C0PLATFORM1",
"message": {
"bot_id": "bot_53b9992ce2f048a596ac7bfbcd",
"client_msg_id": "cli_efe8a82a7a3442369838eda032",
"name": "item-2d6ddc",
"old_name": "Sample Old",
"parent_user_id": "par_194626307e9c4d1799c3a06371",
"permalink": "my-resource",
"reply_count": 0,
"reply_users_count": 0,
"text": "Sample text content",
"ts": "sample-value",
"type": "default",
"unread_count": 0,
"username": "acme-corp"
},
"ok": true,
"ts": "17164S4I3T.7PBGOO"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/a097942801/api/chat.postMessage
{
"host": "fetchsandbox.com",
"content-length": "180",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"content-type": "application/json; charset=utf-8"
}Response headers were not saved in this run.
Rebuilt curl
curl --request POST 'https://fetchsandbox.com/sandbox/a097942801/api/chat.postMessage' \
--header 'host: fetchsandbox.com' \
--header 'user-agent: node' \
--header 'accept: application/json' \
--header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \
--header 'content-type: application/json; charset=utf-8' \
--data-raw '{
"channel": "C0PLATFORM1",
"text": ":no_entry: CHG-degraded-watch-rolls-back (acme/checkout#4) blocked: the pull request could not be read.",
"unfurl_links": false,
"unfurl_media": false
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
A change inside a freeze window is blocked
freeze_blocksWhat we probed
A change inside a freeze window is blocked
How we probed it
Frozen intended probe steps. Recorded requests show what actually ran.
POST /invocations
Expected vs actual
- Expected
- A change inside a freeze window is blocked
- Actual
- expected exactly 1, found 1; stable under 2 repeats (1)
Requests and responses
01GET /verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/freeze_blocks/runs200
We sent
GET /verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/freeze_blocks/runs
This request had no body.
Server returned
HTTP 200
{
"runs": []
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/freeze_blocks/runs
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "application/json",
"content-length": "11"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/freeze_blocks/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
02POST /invocations200
We sent
POST /invocations
{
"action": "start",
"runId": "freeze-blocks-vr_55bd8d33c1bb4538a9936780cce0d10a",
"input": {
"changeId": "CHG-freeze-blocks",
"repo": "acme/checkout",
"pullRequest": 4,
"service": {
"name": "checkout",
"pagerdutyServiceId": "PSVC123",
"monitorIds": [],
"errorRateQuery": "sum:checkout.errors{*}.as_rate()"
},
"type": "standard",
"opsChannel": "C0PLATFORM1",
"approvers": [
"U_CAB_1",
"U_CAB_2"
],
"freezes": [
{
"from": "2020-01-01T00:00:00.000Z",
"to": "2099-01-01T00:00:00.000Z",
"reason": "test freeze"
}
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"fs_case": "freeze_blocks"
}
}Server returned
HTTP 200
{
"runId": "freeze-blocks-vr_55bd8d33c1bb4538a9936780cce0d10a",
"workflow": "change-management-gate",
"metadata": {
"organization": "Acme",
"company": "Acme Corporation",
"environment": "unconfigured",
"owner": "unassigned",
"department": "unassigned",
"ownerTeam": "unassigned",
"oncall": "unassigned",
"version": "unversioned",
"sourceCommit": "unrecorded"
},
"org": "Engineering",
"team": "platform-ops",
"phase": "DONE",
"closed": true,
"outcome": "partial",
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"fs_case": "freeze_blocks"
},
"duplicateStarts": 0,
"agents": [
{
"name": "change-check",
"status": "failed",
"error": "github 404 EGeneral:Unknown method: GET /repos/acme/checkout/pulls/4/reviews → 404 EGeneral:Unknown method",
"errorCode": "github:EGeneral:Unknown method",
"durationMs": 245
},
{
"name": "ops-check",
"status": "ok",
"summary": "0 high-urgency incident(s), 0 monitor(s) alerting",
"durationMs": 157
},
{
"name": "gate",
"status": "ok",
"summary": "blocked: the pull request could not be read",
"durationMs": 0
}
],
"actions": [
{
"id": "slack.post_change:blocked",
"kind": "slack.post_change",
"provider": "slack",
"agent": "gate",
"gate": "auto",
"status": "applied",
"summary": {
"channel": "C0PLATFORM1"
},
"attempts": 1,
"ref": "17LL6L815U.Z5VXAH",
"appliedAt": "2026-10-22T20:10:52.439Z",
"reconciled": null
}
],
"counts": {
"applied": 1,
"failed": 0,
"pendingApproval": 0,
"skipped": 0,
"rejected": 0,
"scheduled": 0,
"awaitingSignal": 0,
"compensated": 0
},
"wakeAt": null,
"audit": {
"seq": 4,
"head": "d774f0159d46079c5c62f13f24229aac901c92033e104b840b947bbac7530bc5"
},
"output": {
"mode": "blocked",
"reasons": [
"the pull request could not be read"
]
},
"events": [
{
"at": "2026-10-22T20:10:52.010Z",
"msg": "started by U_FETCHSANDBOX"
},
{
"at": "2026-10-22T20:10:52.257Z",
"msg": "agents: change-check=failed, ops-check=ok"
},
{
"at": "2026-10-22T20:10:52.259Z",
"msg": "planned 1 action(s): 0 need approval"
},
{
"at": "2026-10-22T20:10:52.439Z",
"msg": "slack.post_change:blocked: applied"
},
{
"at": "2026-10-22T20:10:52.441Z",
"msg": "done (partial)"
}
],
"createdAt": "2026-10-22T20:10:52.010Z",
"updatedAt": "2026-10-22T20:10:52.441Z",
"duplicate": false
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/invocations
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]",
"content-length": "595",
"content-type": "application/json"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request POST 'https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/invocations' \
--header 'accept: */*' \
--header 'user-agent: python-httpx/0.28.1' \
--header 'host: fetchsandbox.com' \
--header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \
--header 'x-fetchsandbox-relay: [redacted]' \
--header 'authorization: [redacted]' \
--header 'content-type: application/json' \
--data-raw '{
"action": "start",
"runId": "freeze-blocks-vr_55bd8d33c1bb4538a9936780cce0d10a",
"input": {
"changeId": "CHG-freeze-blocks",
"repo": "acme/checkout",
"pullRequest": 4,
"service": {
"name": "checkout",
"pagerdutyServiceId": "PSVC123",
"monitorIds": [],
"errorRateQuery": "sum:checkout.errors{*}.as_rate()"
},
"type": "standard",
"opsChannel": "C0PLATFORM1",
"approvers": [
"U_CAB_1",
"U_CAB_2"
],
"freezes": [
{
"from": "2020-01-01T00:00:00.000Z",
"to": "2099-01-01T00:00:00.000Z",
"reason": "test freeze"
}
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"fs_case": "freeze_blocks"
}
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
03GET /verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/freeze_blocks/runs200
We sent
GET /verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/freeze_blocks/runs
This request had no body.
Server returned
HTTP 200
{
"runs": [
{
"runId": "freeze-blocks-vr_55bd8d33c1bb4538a9936780cce0d10a",
"workflow": "change-management-gate",
"metadata": {
"organization": "Acme",
"company": "Acme Corporation",
"environment": "unconfigured",
"owner": "unassigned",
"department": "unassigned",
"ownerTeam": "unassigned",
"oncall": "unassigned",
"version": "unversioned",
"sourceCommit": "unrecorded"
},
"org": "Engineering",
"team": "platform-ops",
"phase": "DONE",
"closed": true,
"outcome": "partial",
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"fs_case": "freeze_blocks"
},
"duplicateStarts": 0,
"agents": [
{
"name": "change-check",
"status": "failed",
"error": "github 404 EGeneral:Unknown method: GET /repos/acme/checkout/pulls/4/reviews → 404 EGeneral:Unknown method",
"errorCode": "github:EGeneral:Unknown method",
"durationMs": 245
},
{
"name": "ops-check",
"status": "ok",
"summary": "0 high-urgency incident(s), 0 monitor(s) alerting",
"durationMs": 157
},
{
"name": "gate",
"status": "ok",
"summary": "blocked: the pull request could not be read",
"durationMs": 0
}
],
"actions": [
{
"id": "slack.post_change:blocked",
"kind": "slack.post_change",
"provider": "slack",
"agent": "gate",
"gate": "auto",
"status": "applied",
"summary": {
"channel": "C0PLATFORM1"
},
"attempts": 1,
"ref": "17LL6L815U.Z5VXAH",
"appliedAt": "2026-10-22T20:10:52.439Z",
"reconciled": null
}
],
"counts": {
"applied": 1,
"failed": 0,
"pendingApproval": 0,
"skipped": 0,
"rejected": 0,
"scheduled": 0,
"awaitingSignal": 0,
"compensated": 0
},
"wakeAt": null,
"audit": {
"seq": 4,
"head": "d774f0159d46079c5c62f13f24229aac901c92033e104b840b947bbac7530bc5"
},
"output": {
"mode": "blocked",
"reasons": [
"the pull request could not be read"
]
},
"events": [
{
"at": "2026-10-22T20:10:52.010Z",
"msg": "started by U_FETCHSANDBOX"
},
{
"at": "2026-10-22T20:10:52.257Z",
"msg": "agents: change-check=failed, ops-check=ok"
},
{
"at": "2026-10-22T20:10:52.259Z",
"msg": "planned 1 action(s): 0 need approval"
},
{
"at": "2026-10-22T20:10:52.439Z",
"msg": "slack.post_change:blocked: applied"
},
{
"at": "2026-10-22T20:10:52.441Z",
"msg": "done (partial)"
}
],
"createdAt": "2026-10-22T20:10:52.010Z",
"updatedAt": "2026-10-22T20:10:52.441Z"
}
]
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/freeze_blocks/runs
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/freeze_blocks/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
04POST /invocations200
We sent
POST /invocations
{
"action": "start",
"runId": "freeze-blocks-vr_55bd8d33c1bb4538a9936780cce0d10a",
"input": {
"changeId": "CHG-freeze-blocks",
"repo": "acme/checkout",
"pullRequest": 4,
"service": {
"name": "checkout",
"pagerdutyServiceId": "PSVC123",
"monitorIds": [],
"errorRateQuery": "sum:checkout.errors{*}.as_rate()"
},
"type": "standard",
"opsChannel": "C0PLATFORM1",
"approvers": [
"U_CAB_1",
"U_CAB_2"
],
"freezes": [
{
"from": "2020-01-01T00:00:00.000Z",
"to": "2099-01-01T00:00:00.000Z",
"reason": "test freeze"
}
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"fs_case": "freeze_blocks"
}
}Server returned
HTTP 200
{
"runId": "freeze-blocks-vr_55bd8d33c1bb4538a9936780cce0d10a",
"workflow": "change-management-gate",
"metadata": {
"organization": "Acme",
"company": "Acme Corporation",
"environment": "unconfigured",
"owner": "unassigned",
"department": "unassigned",
"ownerTeam": "unassigned",
"oncall": "unassigned",
"version": "unversioned",
"sourceCommit": "unrecorded"
},
"org": "Engineering",
"team": "platform-ops",
"phase": "DONE",
"closed": true,
"outcome": "partial",
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"fs_case": "freeze_blocks"
},
"duplicateStarts": 1,
"agents": [
{
"name": "change-check",
"status": "failed",
"error": "github 404 EGeneral:Unknown method: GET /repos/acme/checkout/pulls/4/reviews → 404 EGeneral:Unknown method",
"errorCode": "github:EGeneral:Unknown method",
"durationMs": 245
},
{
"name": "ops-check",
"status": "ok",
"summary": "0 high-urgency incident(s), 0 monitor(s) alerting",
"durationMs": 157
},
{
"name": "gate",
"status": "ok",
"summary": "blocked: the pull request could not be read",
"durationMs": 0
}
],
"actions": [
{
"id": "slack.post_change:blocked",
"kind": "slack.post_change",
"provider": "slack",
"agent": "gate",
"gate": "auto",
"status": "applied",
"summary": {
"channel": "C0PLATFORM1"
},
"attempts": 1,
"ref": "17LL6L815U.Z5VXAH",
"appliedAt": "2026-10-22T20:10:52.439Z",
"reconciled": null
}
],
"counts": {
"applied": 1,
"failed": 0,
"pendingApproval": 0,
"skipped": 0,
"rejected": 0,
"scheduled": 0,
"awaitingSignal": 0,
"compensated": 0
},
"wakeAt": null,
"audit": {
"seq": 5,
"head": "54e2717c99796d959a219d9183b1e3e586f8f5201fbd43b5d9c92575a1e08c22"
},
"output": {
"mode": "blocked",
"reasons": [
"the pull request could not be read"
]
},
"events": [
{
"at": "2026-10-22T20:10:52.010Z",
"msg": "started by U_FETCHSANDBOX"
},
{
"at": "2026-10-22T20:10:52.257Z",
"msg": "agents: change-check=failed, ops-check=ok"
},
{
"at": "2026-10-22T20:10:52.259Z",
"msg": "planned 1 action(s): 0 need approval"
},
{
"at": "2026-10-22T20:10:52.439Z",
"msg": "slack.post_change:blocked: applied"
},
{
"at": "2026-10-22T20:10:52.441Z",
"msg": "done (partial)"
},
{
"at": "2026-10-22T20:10:52.929Z",
"msg": "duplicate start ignored"
}
],
"createdAt": "2026-10-22T20:10:52.010Z",
"updatedAt": "2026-10-22T20:10:52.929Z",
"duplicate": true
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/invocations
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]",
"content-length": "595",
"content-type": "application/json"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request POST 'https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/invocations' \
--header 'accept: */*' \
--header 'user-agent: python-httpx/0.28.1' \
--header 'host: fetchsandbox.com' \
--header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \
--header 'x-fetchsandbox-relay: [redacted]' \
--header 'authorization: [redacted]' \
--header 'content-type: application/json' \
--data-raw '{
"action": "start",
"runId": "freeze-blocks-vr_55bd8d33c1bb4538a9936780cce0d10a",
"input": {
"changeId": "CHG-freeze-blocks",
"repo": "acme/checkout",
"pullRequest": 4,
"service": {
"name": "checkout",
"pagerdutyServiceId": "PSVC123",
"monitorIds": [],
"errorRateQuery": "sum:checkout.errors{*}.as_rate()"
},
"type": "standard",
"opsChannel": "C0PLATFORM1",
"approvers": [
"U_CAB_1",
"U_CAB_2"
],
"freezes": [
{
"from": "2020-01-01T00:00:00.000Z",
"to": "2099-01-01T00:00:00.000Z",
"reason": "test freeze"
}
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"fs_case": "freeze_blocks"
}
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
05GET /verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/freeze_blocks/runs200
We sent
GET /verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/freeze_blocks/runs
This request had no body.
Server returned
HTTP 200
{
"runs": [
{
"runId": "freeze-blocks-vr_55bd8d33c1bb4538a9936780cce0d10a",
"workflow": "change-management-gate",
"metadata": {
"organization": "Acme",
"company": "Acme Corporation",
"environment": "unconfigured",
"owner": "unassigned",
"department": "unassigned",
"ownerTeam": "unassigned",
"oncall": "unassigned",
"version": "unversioned",
"sourceCommit": "unrecorded"
},
"org": "Engineering",
"team": "platform-ops",
"phase": "DONE",
"closed": true,
"outcome": "partial",
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"fs_case": "freeze_blocks"
},
"duplicateStarts": 1,
"agents": [
{
"name": "change-check",
"status": "failed",
"error": "github 404 EGeneral:Unknown method: GET /repos/acme/checkout/pulls/4/reviews → 404 EGeneral:Unknown method",
"errorCode": "github:EGeneral:Unknown method",
"durationMs": 245
},
{
"name": "ops-check",
"status": "ok",
"summary": "0 high-urgency incident(s), 0 monitor(s) alerting",
"durationMs": 157
},
{
"name": "gate",
"status": "ok",
"summary": "blocked: the pull request could not be read",
"durationMs": 0
}
],
"actions": [
{
"id": "slack.post_change:blocked",
"kind": "slack.post_change",
"provider": "slack",
"agent": "gate",
"gate": "auto",
"status": "applied",
"summary": {
"channel": "C0PLATFORM1"
},
"attempts": 1,
"ref": "17LL6L815U.Z5VXAH",
"appliedAt": "2026-10-22T20:10:52.439Z",
"reconciled": null
}
],
"counts": {
"applied": 1,
"failed": 0,
"pendingApproval": 0,
"skipped": 0,
"rejected": 0,
"scheduled": 0,
"awaitingSignal": 0,
"compensated": 0
},
"wakeAt": null,
"audit": {
"seq": 5,
"head": "54e2717c99796d959a219d9183b1e3e586f8f5201fbd43b5d9c92575a1e08c22"
},
"output": {
"mode": "blocked",
"reasons": [
"the pull request could not be read"
]
},
"events": [
{
"at": "2026-10-22T20:10:52.010Z",
"msg": "started by U_FETCHSANDBOX"
},
{
"at": "2026-10-22T20:10:52.257Z",
"msg": "agents: change-check=failed, ops-check=ok"
},
{
"at": "2026-10-22T20:10:52.259Z",
"msg": "planned 1 action(s): 0 need approval"
},
{
"at": "2026-10-22T20:10:52.439Z",
"msg": "slack.post_change:blocked: applied"
},
{
"at": "2026-10-22T20:10:52.441Z",
"msg": "done (partial)"
},
{
"at": "2026-10-22T20:10:52.929Z",
"msg": "duplicate start ignored"
}
],
"createdAt": "2026-10-22T20:10:52.010Z",
"updatedAt": "2026-10-22T20:10:52.929Z"
}
]
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/freeze_blocks/runs
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/freeze_blocks/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Evidence
- Run
vr_55bd8d33c1bb4538a9936780cce0d10a- App version (declared)
acme-ops-change-management-g…- Source receipt
- Source receipt ↗
Technical reference
freeze_blocksApp version (declared): acme-ops-change-management-gate-1.0.0-06c2f09
A change inside a freeze window is blocked
expected exactly 1, found 1; stable under 2 repeats (1)
- Verification covers the declared HTTP actions and state reads in this run.
- The app version shown was supplied by the app itself, not independently checked.
- Passing all checks in this run does not certify the whole app as production-ready.
- The verifier session does not survive a restart. This says nothing about the durability of the app under test.
- App state shown here is what the app's own endpoint reported. It is not independently checked against the database.
Provider traffic in the same time window (4)
These calls were recorded during the same request window as this check but are not directly linked to it. Timing alone is not proof that they caused or were caused by this check.
github · GET /repos/acme/checkout/pulls/4 · HTTP 200
We sent
GET /repos/acme/checkout/pulls/4
No body shown for this read.
Server returned
HTTP 200
{
"id": 25,
"number": 4,
"title": "Fix checkout rounding",
"body": null,
"state": "open",
"head": "fix-rounding",
"base": "main",
"draft": true,
"merged": false,
"mergeable": true,
"additions": 84,
"deletions": 55,
"changed_files": 76,
"created_at": "2026-10-22T20:09:25.589171+00:00",
"updated_at": "2026-10-22T20:09:25.589196+00:00",
"merged_at": null
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/3de250868c/repos/acme/checkout/pulls/4
{
"host": "fetchsandbox.com",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a"
}Response headers were not saved in this run.
Rebuilt curl
curl --request GET 'https://fetchsandbox.com/sandbox/3de250868c/repos/acme/checkout/pulls/4' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
pagerduty · GET /incidents · HTTP 200
We sent
GET /incidents
No body shown for this read.
Server returned
HTTP 200
{
"ending_before": "sample-value",
"filters": {
"created_at_end": "2023-06-01T00:00:00-04:00",
"created_at_start": "2023-05-01T00:00:00-04:00",
"incident_type_ids": [
"PIJ90N7",
"PKL73Z2"
],
"major": true,
"priority_ids": [
"PITMC5Y",
"PEHBBT8",
"PB8QADI"
],
"priority_names": [
"P1",
"P2",
"P3"
],
"service_ids": [
"PC8O0L3",
"PX01HJD",
"P5FK83M"
],
"team_ids": [
"P373JQQ",
"PAECHJV",
"P7SYGW6"
],
"updated_after": "sample-value",
"urgency": "high"
},
"limit": 20,
"order": "asc",
"order_by": "created_at",
"starting_after": "sample-value",
"time_zone": "UTC",
"name": "Sample Incident 1",
"responder_id": "9686c801-360b-4156-8901-94f5fd939dad"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/c91902cec7/incidents
{
"host": "fetchsandbox.com",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a"
}Response headers were not saved in this run.
Rebuilt curl
curl --request GET 'https://fetchsandbox.com/sandbox/c91902cec7/incidents' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
github · GET /repos/acme/checkout/pulls/4/reviews · HTTP 404
We sent
GET /repos/acme/checkout/pulls/4/reviews
No body shown for this read.
Server returned
HTTP 404
{
"errors": [
{
"status": "404",
"code": "EGeneral:Unknown method",
"detail": "No route matches GET /repos/acme/checkout/pulls/4/reviews"
}
]
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/3de250868c/repos/acme/checkout/pulls/4/reviews
{
"host": "fetchsandbox.com",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a"
}Response headers were not saved in this run.
Rebuilt curl
curl --request GET 'https://fetchsandbox.com/sandbox/3de250868c/repos/acme/checkout/pulls/4/reviews' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
slack · POST /api/chat.postMessage · HTTP 200
We sent
POST /api/chat.postMessage
{
"channel": "C0PLATFORM1",
"text": ":no_entry: CHG-freeze-blocks (acme/checkout#4) blocked: the pull request could not be read.",
"unfurl_links": false,
"unfurl_media": false
}Server returned
HTTP 200
{
"channel": "C0PLATFORM1",
"message": {
"bot_id": "bot_0aec8aaa3e784f839aa99423df",
"client_msg_id": "cli_aa5c7ca4c86b44fe83901faf72",
"name": "item-6be9c2",
"old_name": "Sample Old",
"parent_user_id": "par_7eec4b8975ee4acdbd804a2139",
"permalink": "my-resource",
"reply_count": 0,
"reply_users_count": 0,
"text": "Sample text content",
"ts": "sample-value",
"type": "default",
"unread_count": 0,
"username": "acme-corp"
},
"ok": true,
"ts": "17LL6L815U.Z5VXAH"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/a097942801/api/chat.postMessage
{
"host": "fetchsandbox.com",
"content-length": "168",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"content-type": "application/json; charset=utf-8"
}Response headers were not saved in this run.
Rebuilt curl
curl --request POST 'https://fetchsandbox.com/sandbox/a097942801/api/chat.postMessage' \
--header 'host: fetchsandbox.com' \
--header 'user-agent: node' \
--header 'accept: application/json' \
--header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \
--header 'content-type: application/json; charset=utf-8' \
--data-raw '{
"channel": "C0PLATFORM1",
"text": ":no_entry: CHG-freeze-blocks (acme/checkout#4) blocked: the pull request could not be read.",
"unfurl_links": false,
"unfurl_media": false
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
When the pull request can't be read nothing deploys
github_unreadable_blocksWhat we probed
When the pull request can't be read nothing deploys
How we probed it
Frozen intended probe steps. Recorded requests show what actually ran.
Declared github fault: auth_failure.
POST /invocations
Expected vs actual
- Expected
- When the pull request can't be read nothing deploys
- Actual
- expected exactly 1, found 1; stable under 2 repeats (1)
Requests and responses
01GET /verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/github_unreadable_blocks/runs200
We sent
GET /verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/github_unreadable_blocks/runs
This request had no body.
Server returned
HTTP 200
{
"runs": []
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/github_unreadable_blocks/runs
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "application/json",
"content-length": "11"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/github_unreadable_blocks/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
02POST /invocations200
We sent
POST /invocations
{
"action": "start",
"runId": "github-unreadable-blocks-vr_55bd8d33c1bb4538a9936780cce0d10a",
"input": {
"changeId": "CHG-github-unreadable-blocks",
"repo": "acme/checkout",
"pullRequest": 4,
"service": {
"name": "checkout",
"pagerdutyServiceId": "PSVC123",
"monitorIds": [],
"errorRateQuery": "sum:checkout.errors{*}.as_rate()"
},
"type": "standard",
"opsChannel": "C0PLATFORM1",
"approvers": [
"U_CAB_1",
"U_CAB_2"
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"fs_case": "github_unreadable_blocks"
}
}Server returned
HTTP 200
{
"runId": "github-unreadable-blocks-vr_55bd8d33c1bb4538a9936780cce0d10a",
"workflow": "change-management-gate",
"metadata": {
"organization": "Acme",
"company": "Acme Corporation",
"environment": "unconfigured",
"owner": "unassigned",
"department": "unassigned",
"ownerTeam": "unassigned",
"oncall": "unassigned",
"version": "unversioned",
"sourceCommit": "unrecorded"
},
"org": "Engineering",
"team": "platform-ops",
"phase": "DONE",
"closed": true,
"outcome": "partial",
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"fs_case": "github_unreadable_blocks"
},
"duplicateStarts": 0,
"agents": [
{
"name": "change-check",
"status": "failed",
"error": "github 401 UNAUTHORIZED: GET /repos/acme/checkout/pulls/4 → 401 UNAUTHORIZED",
"errorCode": "github:UNAUTHORIZED",
"durationMs": 138
},
{
"name": "ops-check",
"status": "ok",
"summary": "0 high-urgency incident(s), 0 monitor(s) alerting",
"durationMs": 126
},
{
"name": "gate",
"status": "ok",
"summary": "blocked: the pull request could not be read",
"durationMs": 0
}
],
"actions": [
{
"id": "slack.post_change:blocked",
"kind": "slack.post_change",
"provider": "slack",
"agent": "gate",
"gate": "auto",
"status": "applied",
"summary": {
"channel": "C0PLATFORM1"
},
"attempts": 1,
"ref": "1715W54A9M.BW24WU",
"appliedAt": "2026-10-22T20:10:53.887Z",
"reconciled": null
}
],
"counts": {
"applied": 1,
"failed": 0,
"pendingApproval": 0,
"skipped": 0,
"rejected": 0,
"scheduled": 0,
"awaitingSignal": 0,
"compensated": 0
},
"wakeAt": null,
"audit": {
"seq": 4,
"head": "5309d2b52fcb724baa44c0e0a6f252f9f01944295c488d7428702d0fd0c80f4b"
},
"output": {
"mode": "blocked",
"reasons": [
"the pull request could not be read"
]
},
"events": [
{
"at": "2026-10-22T20:10:53.606Z",
"msg": "started by U_FETCHSANDBOX"
},
{
"at": "2026-10-22T20:10:53.745Z",
"msg": "agents: change-check=failed, ops-check=ok"
},
{
"at": "2026-10-22T20:10:53.748Z",
"msg": "planned 1 action(s): 0 need approval"
},
{
"at": "2026-10-22T20:10:53.887Z",
"msg": "slack.post_change:blocked: applied"
},
{
"at": "2026-10-22T20:10:53.890Z",
"msg": "done (partial)"
}
],
"createdAt": "2026-10-22T20:10:53.606Z",
"updatedAt": "2026-10-22T20:10:53.890Z",
"duplicate": false
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/invocations
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]",
"content-length": "525",
"content-type": "application/json"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request POST 'https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/invocations' \
--header 'accept: */*' \
--header 'user-agent: python-httpx/0.28.1' \
--header 'host: fetchsandbox.com' \
--header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \
--header 'x-fetchsandbox-relay: [redacted]' \
--header 'authorization: [redacted]' \
--header 'content-type: application/json' \
--data-raw '{
"action": "start",
"runId": "github-unreadable-blocks-vr_55bd8d33c1bb4538a9936780cce0d10a",
"input": {
"changeId": "CHG-github-unreadable-blocks",
"repo": "acme/checkout",
"pullRequest": 4,
"service": {
"name": "checkout",
"pagerdutyServiceId": "PSVC123",
"monitorIds": [],
"errorRateQuery": "sum:checkout.errors{*}.as_rate()"
},
"type": "standard",
"opsChannel": "C0PLATFORM1",
"approvers": [
"U_CAB_1",
"U_CAB_2"
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"fs_case": "github_unreadable_blocks"
}
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
03github · GET /repos/acme/checkout/pulls/4401
We sent
GET /repos/acme/checkout/pulls/4
No body shown for this read.
Server returned
HTTP 401
{
"errors": [
{
"status": "401",
"code": "UNAUTHORIZED",
"detail": "Bad credentials. The token used is invalid or has been revoked."
}
]
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
{
"host": "fetchsandbox.com",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a"
}Response headers were not saved in this run.
Rebuilt curl
curl --request GET '<GITHUB_TWIN_BASE_URL>/repos/acme/checkout/pulls/4' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
04GET /verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/github_unreadable_blocks/runs200
We sent
GET /verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/github_unreadable_blocks/runs
This request had no body.
Server returned
HTTP 200
{
"runs": [
{
"runId": "github-unreadable-blocks-vr_55bd8d33c1bb4538a9936780cce0d10a",
"workflow": "change-management-gate",
"metadata": {
"organization": "Acme",
"company": "Acme Corporation",
"environment": "unconfigured",
"owner": "unassigned",
"department": "unassigned",
"ownerTeam": "unassigned",
"oncall": "unassigned",
"version": "unversioned",
"sourceCommit": "unrecorded"
},
"org": "Engineering",
"team": "platform-ops",
"phase": "DONE",
"closed": true,
"outcome": "partial",
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"fs_case": "github_unreadable_blocks"
},
"duplicateStarts": 0,
"agents": [
{
"name": "change-check",
"status": "failed",
"error": "github 401 UNAUTHORIZED: GET /repos/acme/checkout/pulls/4 → 401 UNAUTHORIZED",
"errorCode": "github:UNAUTHORIZED",
"durationMs": 138
},
{
"name": "ops-check",
"status": "ok",
"summary": "0 high-urgency incident(s), 0 monitor(s) alerting",
"durationMs": 126
},
{
"name": "gate",
"status": "ok",
"summary": "blocked: the pull request could not be read",
"durationMs": 0
}
],
"actions": [
{
"id": "slack.post_change:blocked",
"kind": "slack.post_change",
"provider": "slack",
"agent": "gate",
"gate": "auto",
"status": "applied",
"summary": {
"channel": "C0PLATFORM1"
},
"attempts": 1,
"ref": "1715W54A9M.BW24WU",
"appliedAt": "2026-10-22T20:10:53.887Z",
"reconciled": null
}
],
"counts": {
"applied": 1,
"failed": 0,
"pendingApproval": 0,
"skipped": 0,
"rejected": 0,
"scheduled": 0,
"awaitingSignal": 0,
"compensated": 0
},
"wakeAt": null,
"audit": {
"seq": 4,
"head": "5309d2b52fcb724baa44c0e0a6f252f9f01944295c488d7428702d0fd0c80f4b"
},
"output": {
"mode": "blocked",
"reasons": [
"the pull request could not be read"
]
},
"events": [
{
"at": "2026-10-22T20:10:53.606Z",
"msg": "started by U_FETCHSANDBOX"
},
{
"at": "2026-10-22T20:10:53.745Z",
"msg": "agents: change-check=failed, ops-check=ok"
},
{
"at": "2026-10-22T20:10:53.748Z",
"msg": "planned 1 action(s): 0 need approval"
},
{
"at": "2026-10-22T20:10:53.887Z",
"msg": "slack.post_change:blocked: applied"
},
{
"at": "2026-10-22T20:10:53.890Z",
"msg": "done (partial)"
}
],
"createdAt": "2026-10-22T20:10:53.606Z",
"updatedAt": "2026-10-22T20:10:53.890Z"
}
]
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/github_unreadable_blocks/runs
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/github_unreadable_blocks/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
05POST /invocations200
We sent
POST /invocations
{
"action": "start",
"runId": "github-unreadable-blocks-vr_55bd8d33c1bb4538a9936780cce0d10a",
"input": {
"changeId": "CHG-github-unreadable-blocks",
"repo": "acme/checkout",
"pullRequest": 4,
"service": {
"name": "checkout",
"pagerdutyServiceId": "PSVC123",
"monitorIds": [],
"errorRateQuery": "sum:checkout.errors{*}.as_rate()"
},
"type": "standard",
"opsChannel": "C0PLATFORM1",
"approvers": [
"U_CAB_1",
"U_CAB_2"
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"fs_case": "github_unreadable_blocks"
}
}Server returned
HTTP 200
{
"runId": "github-unreadable-blocks-vr_55bd8d33c1bb4538a9936780cce0d10a",
"workflow": "change-management-gate",
"metadata": {
"organization": "Acme",
"company": "Acme Corporation",
"environment": "unconfigured",
"owner": "unassigned",
"department": "unassigned",
"ownerTeam": "unassigned",
"oncall": "unassigned",
"version": "unversioned",
"sourceCommit": "unrecorded"
},
"org": "Engineering",
"team": "platform-ops",
"phase": "DONE",
"closed": true,
"outcome": "partial",
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"fs_case": "github_unreadable_blocks"
},
"duplicateStarts": 1,
"agents": [
{
"name": "change-check",
"status": "failed",
"error": "github 401 UNAUTHORIZED: GET /repos/acme/checkout/pulls/4 → 401 UNAUTHORIZED",
"errorCode": "github:UNAUTHORIZED",
"durationMs": 138
},
{
"name": "ops-check",
"status": "ok",
"summary": "0 high-urgency incident(s), 0 monitor(s) alerting",
"durationMs": 126
},
{
"name": "gate",
"status": "ok",
"summary": "blocked: the pull request could not be read",
"durationMs": 0
}
],
"actions": [
{
"id": "slack.post_change:blocked",
"kind": "slack.post_change",
"provider": "slack",
"agent": "gate",
"gate": "auto",
"status": "applied",
"summary": {
"channel": "C0PLATFORM1"
},
"attempts": 1,
"ref": "1715W54A9M.BW24WU",
"appliedAt": "2026-10-22T20:10:53.887Z",
"reconciled": null
}
],
"counts": {
"applied": 1,
"failed": 0,
"pendingApproval": 0,
"skipped": 0,
"rejected": 0,
"scheduled": 0,
"awaitingSignal": 0,
"compensated": 0
},
"wakeAt": null,
"audit": {
"seq": 5,
"head": "85727d12b7d30711153f8a90f38ea655a0485b3d40b801a999ef28e4773f5521"
},
"output": {
"mode": "blocked",
"reasons": [
"the pull request could not be read"
]
},
"events": [
{
"at": "2026-10-22T20:10:53.606Z",
"msg": "started by U_FETCHSANDBOX"
},
{
"at": "2026-10-22T20:10:53.745Z",
"msg": "agents: change-check=failed, ops-check=ok"
},
{
"at": "2026-10-22T20:10:53.748Z",
"msg": "planned 1 action(s): 0 need approval"
},
{
"at": "2026-10-22T20:10:53.887Z",
"msg": "slack.post_change:blocked: applied"
},
{
"at": "2026-10-22T20:10:53.890Z",
"msg": "done (partial)"
},
{
"at": "2026-10-22T20:10:54.444Z",
"msg": "duplicate start ignored"
}
],
"createdAt": "2026-10-22T20:10:53.606Z",
"updatedAt": "2026-10-22T20:10:54.444Z",
"duplicate": true
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/invocations
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]",
"content-length": "525",
"content-type": "application/json"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request POST 'https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/invocations' \
--header 'accept: */*' \
--header 'user-agent: python-httpx/0.28.1' \
--header 'host: fetchsandbox.com' \
--header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \
--header 'x-fetchsandbox-relay: [redacted]' \
--header 'authorization: [redacted]' \
--header 'content-type: application/json' \
--data-raw '{
"action": "start",
"runId": "github-unreadable-blocks-vr_55bd8d33c1bb4538a9936780cce0d10a",
"input": {
"changeId": "CHG-github-unreadable-blocks",
"repo": "acme/checkout",
"pullRequest": 4,
"service": {
"name": "checkout",
"pagerdutyServiceId": "PSVC123",
"monitorIds": [],
"errorRateQuery": "sum:checkout.errors{*}.as_rate()"
},
"type": "standard",
"opsChannel": "C0PLATFORM1",
"approvers": [
"U_CAB_1",
"U_CAB_2"
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"fs_case": "github_unreadable_blocks"
}
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
06GET /verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/github_unreadable_blocks/runs200
We sent
GET /verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/github_unreadable_blocks/runs
This request had no body.
Server returned
HTTP 200
{
"runs": [
{
"runId": "github-unreadable-blocks-vr_55bd8d33c1bb4538a9936780cce0d10a",
"workflow": "change-management-gate",
"metadata": {
"organization": "Acme",
"company": "Acme Corporation",
"environment": "unconfigured",
"owner": "unassigned",
"department": "unassigned",
"ownerTeam": "unassigned",
"oncall": "unassigned",
"version": "unversioned",
"sourceCommit": "unrecorded"
},
"org": "Engineering",
"team": "platform-ops",
"phase": "DONE",
"closed": true,
"outcome": "partial",
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"fs_case": "github_unreadable_blocks"
},
"duplicateStarts": 1,
"agents": [
{
"name": "change-check",
"status": "failed",
"error": "github 401 UNAUTHORIZED: GET /repos/acme/checkout/pulls/4 → 401 UNAUTHORIZED",
"errorCode": "github:UNAUTHORIZED",
"durationMs": 138
},
{
"name": "ops-check",
"status": "ok",
"summary": "0 high-urgency incident(s), 0 monitor(s) alerting",
"durationMs": 126
},
{
"name": "gate",
"status": "ok",
"summary": "blocked: the pull request could not be read",
"durationMs": 0
}
],
"actions": [
{
"id": "slack.post_change:blocked",
"kind": "slack.post_change",
"provider": "slack",
"agent": "gate",
"gate": "auto",
"status": "applied",
"summary": {
"channel": "C0PLATFORM1"
},
"attempts": 1,
"ref": "1715W54A9M.BW24WU",
"appliedAt": "2026-10-22T20:10:53.887Z",
"reconciled": null
}
],
"counts": {
"applied": 1,
"failed": 0,
"pendingApproval": 0,
"skipped": 0,
"rejected": 0,
"scheduled": 0,
"awaitingSignal": 0,
"compensated": 0
},
"wakeAt": null,
"audit": {
"seq": 5,
"head": "85727d12b7d30711153f8a90f38ea655a0485b3d40b801a999ef28e4773f5521"
},
"output": {
"mode": "blocked",
"reasons": [
"the pull request could not be read"
]
},
"events": [
{
"at": "2026-10-22T20:10:53.606Z",
"msg": "started by U_FETCHSANDBOX"
},
{
"at": "2026-10-22T20:10:53.745Z",
"msg": "agents: change-check=failed, ops-check=ok"
},
{
"at": "2026-10-22T20:10:53.748Z",
"msg": "planned 1 action(s): 0 need approval"
},
{
"at": "2026-10-22T20:10:53.887Z",
"msg": "slack.post_change:blocked: applied"
},
{
"at": "2026-10-22T20:10:53.890Z",
"msg": "done (partial)"
},
{
"at": "2026-10-22T20:10:54.444Z",
"msg": "duplicate start ignored"
}
],
"createdAt": "2026-10-22T20:10:53.606Z",
"updatedAt": "2026-10-22T20:10:54.444Z"
}
]
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/github_unreadable_blocks/runs
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "application/json"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/github_unreadable_blocks/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Evidence
- Run
vr_55bd8d33c1bb4538a9936780cce0d10a- App version (declared)
acme-ops-change-management-g…- Source receipt
- Source receipt ↗
Technical reference
github_unreadable_blocksApp version (declared): acme-ops-change-management-gate-1.0.0-06c2f09
When the pull request can't be read nothing deploys
expected exactly 1, found 1; stable under 2 repeats (1)
- Verification covers the declared HTTP actions and state reads in this run.
- The app version shown was supplied by the app itself, not independently checked.
- Passing all checks in this run does not certify the whole app as production-ready.
- The verifier session does not survive a restart. This says nothing about the durability of the app under test.
- App state shown here is what the app's own endpoint reported. It is not independently checked against the database.
Provider traffic in the same time window (3)
These calls were recorded during the same request window as this check but are not directly linked to it. Timing alone is not proof that they caused or were caused by this check.
github · GET /repos/acme/checkout/pulls/4 · HTTP 401
We sent
GET /repos/acme/checkout/pulls/4
No body shown for this read.
Server returned
HTTP 401
{
"errors": [
{
"status": "401",
"code": "UNAUTHORIZED",
"detail": "Bad credentials. The token used is invalid or has been revoked."
}
]
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/3de250868c/repos/acme/checkout/pulls/4
{
"host": "fetchsandbox.com",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a"
}Response headers were not saved in this run.
Rebuilt curl
curl --request GET 'https://fetchsandbox.com/sandbox/3de250868c/repos/acme/checkout/pulls/4' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
pagerduty · GET /incidents · HTTP 200
We sent
GET /incidents
No body shown for this read.
Server returned
HTTP 200
{
"ending_before": "sample-value",
"filters": {
"created_at_end": "2023-06-01T00:00:00-04:00",
"created_at_start": "2023-05-01T00:00:00-04:00",
"incident_type_ids": [
"PIJ90N7",
"PKL73Z2"
],
"major": true,
"priority_ids": [
"PITMC5Y",
"PEHBBT8",
"PB8QADI"
],
"priority_names": [
"P1",
"P2",
"P3"
],
"service_ids": [
"PC8O0L3",
"PX01HJD",
"P5FK83M"
],
"team_ids": [
"P373JQQ",
"PAECHJV",
"P7SYGW6"
],
"updated_after": "sample-value",
"urgency": "high"
},
"limit": 20,
"order": "asc",
"order_by": "created_at",
"starting_after": "sample-value",
"time_zone": "UTC",
"name": "Sample Incident 1",
"responder_id": "9686c801-360b-4156-8901-94f5fd939dad"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/c91902cec7/incidents
{
"host": "fetchsandbox.com",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a"
}Response headers were not saved in this run.
Rebuilt curl
curl --request GET 'https://fetchsandbox.com/sandbox/c91902cec7/incidents' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
slack · POST /api/chat.postMessage · HTTP 200
We sent
POST /api/chat.postMessage
{
"channel": "C0PLATFORM1",
"text": ":no_entry: CHG-github-unreadable-blocks (acme/checkout#4) blocked: the pull request could not be read.",
"unfurl_links": false,
"unfurl_media": false
}Server returned
HTTP 200
{
"channel": "C0PLATFORM1",
"message": {
"bot_id": "bot_f2dd9bd5d38f435fbe79f83f9e",
"client_msg_id": "cli_115e595d795144b69b50790ba5",
"name": "item-b77a30",
"old_name": "Sample Old",
"parent_user_id": "par_519a3d6b3c9c4851a4c14ec9f4",
"permalink": "my-resource",
"reply_count": 0,
"reply_users_count": 0,
"text": "Sample text content",
"ts": "sample-value",
"type": "default",
"unread_count": 0,
"username": "acme-corp"
},
"ok": true,
"ts": "1715W54A9M.BW24WU"
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/sandbox/a097942801/api/chat.postMessage
{
"host": "fetchsandbox.com",
"content-length": "179",
"user-agent": "node",
"accept": "application/json",
"x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"content-type": "application/json; charset=utf-8"
}Response headers were not saved in this run.
Rebuilt curl
curl --request POST 'https://fetchsandbox.com/sandbox/a097942801/api/chat.postMessage' \
--header 'host: fetchsandbox.com' \
--header 'user-agent: node' \
--header 'accept: application/json' \
--header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \
--header 'content-type: application/json; charset=utf-8' \
--data-raw '{
"channel": "C0PLATFORM1",
"text": ":no_entry: CHG-github-unreadable-blocks (acme/checkout#4) blocked: the pull request could not be read.",
"unfurl_links": false,
"unfurl_media": false
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
A malformed repository is rejected before any agent runs
invalid_input_rejectedWhat we probed
A malformed repository is rejected before any agent runs
How we probed it
Frozen intended probe steps. Recorded requests show what actually ran.
POST /invocations
Expected vs actual
- Expected
- A malformed repository is rejected before any agent runs
- Actual
- expected exactly 0, found 0; stable under 2 repeats (0)
Requests and responses
01GET /verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/invalid_input_rejected/runs200
We sent
GET /verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/invalid_input_rejected/runs
This request had no body.
Server returned
HTTP 200
{
"runs": []
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/invalid_input_rejected/runs
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "application/json",
"content-length": "11"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/invalid_input_rejected/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
02POST /invocations400
We sent
POST /invocations
{
"action": "start",
"runId": "invalid-input-rejected-vr_55bd8d33c1bb4538a9936780cce0d10a",
"input": {
"changeId": "CHG-baseline",
"repo": "not a repo",
"pullRequest": 4,
"service": {
"name": "checkout",
"pagerdutyServiceId": "PSVC123",
"monitorIds": [],
"errorRateQuery": "sum:checkout.errors{*}.as_rate()"
},
"type": "standard",
"opsChannel": "C0PLATFORM1",
"approvers": [
"U_CAB_1",
"U_CAB_2"
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"fs_case": "invalid_input_rejected"
}
}Server returned
HTTP 400
{
"error": "invalid input",
"issues": [
"repo: owner/repo"
]
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/invocations
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]",
"content-length": "502",
"content-type": "application/json"
}{
"content-type": "application/json",
"content-length": "55"
}Rebuilt curl
curl --request POST 'https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/invocations' \
--header 'accept: */*' \
--header 'user-agent: python-httpx/0.28.1' \
--header 'host: fetchsandbox.com' \
--header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \
--header 'x-fetchsandbox-relay: [redacted]' \
--header 'authorization: [redacted]' \
--header 'content-type: application/json' \
--data-raw '{
"action": "start",
"runId": "invalid-input-rejected-vr_55bd8d33c1bb4538a9936780cce0d10a",
"input": {
"changeId": "CHG-baseline",
"repo": "not a repo",
"pullRequest": 4,
"service": {
"name": "checkout",
"pagerdutyServiceId": "PSVC123",
"monitorIds": [],
"errorRateQuery": "sum:checkout.errors{*}.as_rate()"
},
"type": "standard",
"opsChannel": "C0PLATFORM1",
"approvers": [
"U_CAB_1",
"U_CAB_2"
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"fs_case": "invalid_input_rejected"
}
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
03GET /verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/invalid_input_rejected/runs200
We sent
GET /verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/invalid_input_rejected/runs
This request had no body.
Server returned
HTTP 200
{
"runs": []
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/invalid_input_rejected/runs
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "application/json",
"content-length": "11"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/invalid_input_rejected/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
04POST /invocations400
We sent
POST /invocations
{
"action": "start",
"runId": "invalid-input-rejected-vr_55bd8d33c1bb4538a9936780cce0d10a",
"input": {
"changeId": "CHG-baseline",
"repo": "not a repo",
"pullRequest": 4,
"service": {
"name": "checkout",
"pagerdutyServiceId": "PSVC123",
"monitorIds": [],
"errorRateQuery": "sum:checkout.errors{*}.as_rate()"
},
"type": "standard",
"opsChannel": "C0PLATFORM1",
"approvers": [
"U_CAB_1",
"U_CAB_2"
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"fs_case": "invalid_input_rejected"
}
}Server returned
HTTP 400
{
"error": "invalid input",
"issues": [
"repo: owner/repo"
]
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/invocations
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]",
"content-length": "502",
"content-type": "application/json"
}{
"content-type": "application/json",
"content-length": "55"
}Rebuilt curl
curl --request POST 'https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/invocations' \
--header 'accept: */*' \
--header 'user-agent: python-httpx/0.28.1' \
--header 'host: fetchsandbox.com' \
--header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \
--header 'x-fetchsandbox-relay: [redacted]' \
--header 'authorization: [redacted]' \
--header 'content-type: application/json' \
--data-raw '{
"action": "start",
"runId": "invalid-input-rejected-vr_55bd8d33c1bb4538a9936780cce0d10a",
"input": {
"changeId": "CHG-baseline",
"repo": "not a repo",
"pullRequest": 4,
"service": {
"name": "checkout",
"pagerdutyServiceId": "PSVC123",
"monitorIds": [],
"errorRateQuery": "sum:checkout.errors{*}.as_rate()"
},
"type": "standard",
"opsChannel": "C0PLATFORM1",
"approvers": [
"U_CAB_1",
"U_CAB_2"
]
},
"requestedBy": {
"userId": "U_FETCHSANDBOX"
},
"labels": {
"fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"fs_case": "invalid_input_rejected"
}
}'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
05GET /verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/invalid_input_rejected/runs200
We sent
GET /verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/invalid_input_rejected/runs
This request had no body.
Server returned
HTTP 200
{
"runs": []
}HTTP status is a response, not the scenario verdict. State shown here is reported by the app.
Technical details
Headers and timing
https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/invalid_input_rejected/runs
{
"accept": "*/*",
"user-agent": "python-httpx/0.28.1",
"host": "fetchsandbox.com",
"x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a",
"x-fetchsandbox-relay": "[redacted]",
"authorization": "[redacted]"
}{
"content-type": "application/json",
"content-length": "11"
}Rebuilt curl
curl --request GET 'https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/invalid_input_rejected/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Evidence
- Run
vr_55bd8d33c1bb4538a9936780cce0d10a- App version (declared)
acme-ops-change-management-g…- Source receipt
- Source receipt ↗
Technical reference
invalid_input_rejectedApp version (declared): acme-ops-change-management-gate-1.0.0-06c2f09
A malformed repository is rejected before any agent runs
expected exactly 0, found 0; stable under 2 repeats (0)
- Verification covers the declared HTTP actions and state reads in this run.
- The app version shown was supplied by the app itself, not independently checked.
- Passing all checks in this run does not certify the whole app as production-ready.
- The verifier session does not survive a restart. This says nothing about the durability of the app under test.
- App state shown here is what the app's own endpoint reported. It is not independently checked against the database.
Run details
Run vr_55bd8d33c1bb4538a9936780cce0d10a
11 required checks for the declared application workflow. Results apply to the recorded observation windows.
5 passed · 5 failed · 1 not checked
Coverage beyond the declared checks
Passing these checks does not establish every production behavior.
- Normal successful behavior · Linked checks passed · baseline
- The right user gets the right access · Not checked · author_cannot_approve
- Valid data and boundary values · Linked checks passed · invalid_input_rejected
- Correct amount, currency and quantity · Proposed as not applicable
- Duplicate requests and events · Proposed as not applicable
- Requests arriving together · Proposed as not applicable
- Out-of-order and stale events · Linked checks passed · freeze_blocks
- Delayed or missing events · Linked check failed · healthy_watch_marks_success, degraded_watch_rolls_back
- Provider authentication and permissions · Linked checks passed · github_unreadable_blocks
- Rate limits, server failures and timeouts · Linked checks passed · github_unreadable_blocks
- Completed action with a lost response · Proposed as not applicable
- Partial completion and recovery · Linked check failed · degraded_watch_rolls_back
- Restart without losing or duplicating work · Proposed as not applicable
- Finding and repairing inconsistent state · Proposed as not applicable
- Cancellation, refunds and access · Linked check failed · standard_change_deploys, normal_change_needs_cab
- Data ownership and privacy · Proposed as not applicable
- Test isolation and cleanup · Linked checks passed · baseline
Applicability comes from the proposed plan. Test results come from the recorded execution.
App version: acme-ops-change-management-gate-1.0.0-06c2f09 (declared)
Measured run: 2026-10-22T20:10:38.098942+00:00 – 2026-10-22T20:10:56.131618+00:00
Recorded execution
Recorded application requests and state reads for the declared HTTP contract.
The timeline below merges all requests from this run, sorted by recorded timestamp.
Recorded requests and deliveries: 83/97 successful · checkpoints: 10/11 recorded
Why checks are unmeasured
- author_cannot_approve: app action expected HTTP 403, received 404
Sanitized request and event timeline (97 events)
- · GET app request /verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/baseline/runs · baseline · HTTP 200
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/baseline/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-22T20:10:38.356702+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a", "x-fetchsandbox-relay": "[redacted]", "authorization": "[redacted]" }Recorded response headers
{ "content-type": "application/json", "content-length": "11" }Request body
This request had no body.
Recorded response · HTTP 200
{ "runs": [] } - · POST app request /invocations · baseline · HTTP 200
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/invocations' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]' \ --header 'content-type: application/json' \ --data-raw '{ "action": "start", "runId": "baseline-vr_55bd8d33c1bb4538a9936780cce0d10a", "input": { "changeId": "CHG-baseline", "repo": "acme/checkout", "pullRequest": 4, "service": { "name": "checkout", "pagerdutyServiceId": "PSVC123", "monitorIds": [], "errorRateQuery": "sum:checkout.errors{*}.as_rate()" }, "type": "standard", "opsChannel": "C0PLATFORM1", "approvers": [ "U_CAB_1", "U_CAB_2" ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a", "fs_case": "baseline" } }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-22T20:10:39.078216+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a", "x-fetchsandbox-relay": "[redacted]", "authorization": "[redacted]", "content-length": "477", "content-type": "application/json" }Recorded response headers
{ "content-type": "application/json" }Request body
{ "action": "start", "runId": "baseline-vr_55bd8d33c1bb4538a9936780cce0d10a", "input": { "changeId": "CHG-baseline", "repo": "acme/checkout", "pullRequest": 4, "service": { "name": "checkout", "pagerdutyServiceId": "PSVC123", "monitorIds": [], "errorRateQuery": "sum:checkout.errors{*}.as_rate()" }, "type": "standard", "opsChannel": "C0PLATFORM1", "approvers": [ "U_CAB_1", "U_CAB_2" ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a", "fs_case": "baseline" } }Recorded response · HTTP 200
{ "runId": "baseline-vr_55bd8d33c1bb4538a9936780cce0d10a", "workflow": "change-management-gate", "metadata": { "organization": "Acme", "company": "Acme Corporation", "environment": "unconfigured", "owner": "unassigned", "department": "unassigned", "ownerTeam": "unassigned", "oncall": "unassigned", "version": "unversioned", "sourceCommit": "unrecorded" }, "org": "Engineering", "team": "platform-ops", "phase": "DONE", "closed": true, "outcome": "partial", "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a", "fs_case": "baseline" }, "duplicateStarts": 0, "agents": [ { "name": "change-check", "status": "failed", "error": "github 404 EGeneral:Unknown method: GET /repos/acme/checkout/pulls/4/reviews → 404 EGeneral:Unknown method", "errorCode": "github:EGeneral:Unknown method", "durationMs": 342 }, { "name": "ops-check", "status": "ok", "summary": "0 high-urgency incident(s), 0 monitor(s) alerting", "durationMs": 340 }, { "name": "gate", "status": "ok", "summary": "blocked: the pull request could not be read", "durationMs": 0 } ], "actions": [ { "id": "slack.post_change:blocked", "kind": "slack.post_change", "provider": "slack", "agent": "gate", "gate": "auto", "status": "applied", "summary": { "channel": "C0PLATFORM1" }, "attempts": 1, "ref": "17NIQTXFGS.H03DA8", "appliedAt": "2026-10-22T20:10:38.973Z", "reconciled": null } ], "counts": { "applied": 1, "failed": 0, "pendingApproval": 0, "skipped": 0, "rejected": 0, "scheduled": 0, "awaitingSignal": 0, "compensated": 0 }, "wakeAt": null, "audit": { "seq": 4, "head": "76d295c94f03f7ee7cc339b33d30c8cb6d158e8d9041d90be228dba6884a922a" }, "output": { "mode": "blocked", "reasons": [ "the pull request could not be read" ] }, "events": [ { "at": "2026-10-22T20:10:38.496Z", "msg": "started by U_FETCHSANDBOX" }, { "at": "2026-10-22T20:10:38.853Z", "msg": "agents: change-check=failed, ops-check=ok" }, { "at": "2026-10-22T20:10:38.857Z", "msg": "planned 1 action(s): 0 need approval" }, { "at": "2026-10-22T20:10:38.974Z", "msg": "slack.post_change:blocked: applied" }, { "at": "2026-10-22T20:10:38.975Z", "msg": "done (partial)" } ], "createdAt": "2026-10-22T20:10:38.496Z", "updatedAt": "2026-10-22T20:10:38.976Z", "duplicate": false } - · GET github request · provider traffic · /repos/acme/checkout/pulls/4 · HTTP 200 · request 5ebb61992bb0 · processing 1.86ms
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/sandbox/3de250868c/repos/acme/checkout/pulls/4' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 1.86ms.
Recorded request headers
{ "host": "fetchsandbox.com", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a" }Recorded response headers
Response headers were not saved in this run.
Request body
No body shown for this read.
Recorded response · HTTP 200
{ "id": 25, "number": 4, "title": "Fix checkout rounding", "body": null, "state": "open", "head": "fix-rounding", "base": "main", "draft": true, "merged": false, "mergeable": true, "additions": 84, "deletions": 55, "changed_files": 76, "created_at": "2026-10-22T20:09:25.589171+00:00", "updated_at": "2026-10-22T20:09:25.589196+00:00", "merged_at": null } - · GET github request · provider traffic · /repos/acme/checkout/pulls/4/reviews · HTTP 404 · request e35d75cc599e · processing 0.15ms
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/sandbox/3de250868c/repos/acme/checkout/pulls/4/reviews' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 0.15ms.
Recorded request headers
{ "host": "fetchsandbox.com", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a" }Recorded response headers
Response headers were not saved in this run.
Request body
No body shown for this read.
Recorded response · HTTP 404
{ "errors": [ { "status": "404", "code": "EGeneral:Unknown method", "detail": "No route matches GET /repos/acme/checkout/pulls/4/reviews" } ] } - · GET pagerduty request · provider traffic · /incidents · HTTP 200 · request 5fe3a5797e18 · processing 1.63ms
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/sandbox/c91902cec7/incidents' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 1.63ms.
Recorded request headers
{ "host": "fetchsandbox.com", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a" }Recorded response headers
Response headers were not saved in this run.
Request body
No body shown for this read.
Recorded response · HTTP 200
{ "ending_before": "sample-value", "filters": { "created_at_end": "2023-06-01T00:00:00-04:00", "created_at_start": "2023-05-01T00:00:00-04:00", "incident_type_ids": [ "PIJ90N7", "PKL73Z2" ], "major": true, "priority_ids": [ "PITMC5Y", "PEHBBT8", "PB8QADI" ], "priority_names": [ "P1", "P2", "P3" ], "service_ids": [ "PC8O0L3", "PX01HJD", "P5FK83M" ], "team_ids": [ "P373JQQ", "PAECHJV", "P7SYGW6" ], "updated_after": "sample-value", "urgency": "high" }, "limit": 20, "order": "asc", "order_by": "created_at", "starting_after": "sample-value", "time_zone": "UTC", "name": "Sample Incident 1", "responder_id": "9686c801-360b-4156-8901-94f5fd939dad" } - · POST slack request · provider traffic · /api/chat.postMessage · HTTP 200 · request 19464905c241 · processing 12.34ms
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/sandbox/a097942801/api/chat.postMessage' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \ --header 'content-type: application/json; charset=utf-8' \ --data-raw '{ "channel": "C0PLATFORM1", "text": ":no_entry: CHG-baseline (acme/checkout#4) blocked: the pull request could not be read.", "unfurl_links": false, "unfurl_media": false }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 12.34ms.
Recorded request headers
{ "host": "fetchsandbox.com", "content-length": "163", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a", "content-type": "application/json; charset=utf-8" }Recorded response headers
Response headers were not saved in this run.
Request body
{ "channel": "C0PLATFORM1", "text": ":no_entry: CHG-baseline (acme/checkout#4) blocked: the pull request could not be read.", "unfurl_links": false, "unfurl_media": false }Recorded response · HTTP 200
{ "channel": "C0PLATFORM1", "message": { "bot_id": "bot_90bb61dfaa4f4df7b4320a25ea", "client_msg_id": "cli_6abd6183970a4c038f5b5995f3", "name": "item-fc3ea2", "old_name": "Sample Old", "parent_user_id": "par_30be9932b46b4590b62d0b5161", "permalink": "my-resource", "reply_count": 0, "reply_users_count": 0, "text": "Sample text content", "ts": "sample-value", "type": "default", "unread_count": 0, "username": "acme-corp" }, "ok": true, "ts": "17NIQTXFGS.H03DA8" } - · GET app request /verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/baseline/runs · baseline · HTTP 200
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/baseline/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-22T20:10:39.404489+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a", "x-fetchsandbox-relay": "[redacted]", "authorization": "[redacted]" }Recorded response headers
{ "content-type": "application/json" }Request body
This request had no body.
Recorded response · HTTP 200
{ "runs": [ { "runId": "baseline-vr_55bd8d33c1bb4538a9936780cce0d10a", "workflow": "change-management-gate", "metadata": { "organization": "Acme", "company": "Acme Corporation", "environment": "unconfigured", "owner": "unassigned", "department": "unassigned", "ownerTeam": "unassigned", "oncall": "unassigned", "version": "unversioned", "sourceCommit": "unrecorded" }, "org": "Engineering", "team": "platform-ops", "phase": "DONE", "closed": true, "outcome": "partial", "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a", "fs_case": "baseline" }, "duplicateStarts": 0, "agents": [ { "name": "change-check", "status": "failed", "error": "github 404 EGeneral:Unknown method: GET /repos/acme/checkout/pulls/4/reviews → 404 EGeneral:Unknown method", "errorCode": "github:EGeneral:Unknown method", "durationMs": 342 }, { "name": "ops-check", "status": "ok", "summary": "0 high-urgency incident(s), 0 monitor(s) alerting", "durationMs": 340 }, { "name": "gate", "status": "ok", "summary": "blocked: the pull request could not be read", "durationMs": 0 } ], "actions": [ { "id": "slack.post_change:blocked", "kind": "slack.post_change", "provider": "slack", "agent": "gate", "gate": "auto", "status": "applied", "summary": { "channel": "C0PLATFORM1" }, "attempts": 1, "ref": "17NIQTXFGS.H03DA8", "appliedAt": "2026-10-22T20:10:38.973Z", "reconciled": null } ], "counts": { "applied": 1, "failed": 0, "pendingApproval": 0, "skipped": 0, "rejected": 0, "scheduled": 0, "awaitingSignal": 0, "compensated": 0 }, "wakeAt": null, "audit": { "seq": 4, "head": "76d295c94f03f7ee7cc339b33d30c8cb6d158e8d9041d90be228dba6884a922a" }, "output": { "mode": "blocked", "reasons": [ "the pull request could not be read" ] }, "events": [ { "at": "2026-10-22T20:10:38.496Z", "msg": "started by U_FETCHSANDBOX" }, { "at": "2026-10-22T20:10:38.853Z", "msg": "agents: change-check=failed, ops-check=ok" }, { "at": "2026-10-22T20:10:38.857Z", "msg": "planned 1 action(s): 0 need approval" }, { "at": "2026-10-22T20:10:38.974Z", "msg": "slack.post_change:blocked: applied" }, { "at": "2026-10-22T20:10:38.975Z", "msg": "done (partial)" } ], "createdAt": "2026-10-22T20:10:38.496Z", "updatedAt": "2026-10-22T20:10:38.976Z" } ] } - · POST app request /invocations · baseline · HTTP 200
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/invocations' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]' \ --header 'content-type: application/json' \ --data-raw '{ "action": "start", "runId": "baseline-vr_55bd8d33c1bb4538a9936780cce0d10a", "input": { "changeId": "CHG-baseline", "repo": "acme/checkout", "pullRequest": 4, "service": { "name": "checkout", "pagerdutyServiceId": "PSVC123", "monitorIds": [], "errorRateQuery": "sum:checkout.errors{*}.as_rate()" }, "type": "standard", "opsChannel": "C0PLATFORM1", "approvers": [ "U_CAB_1", "U_CAB_2" ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a", "fs_case": "baseline" } }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-22T20:10:39.654215+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a", "x-fetchsandbox-relay": "[redacted]", "authorization": "[redacted]", "content-length": "477", "content-type": "application/json" }Recorded response headers
{ "content-type": "application/json" }Request body
{ "action": "start", "runId": "baseline-vr_55bd8d33c1bb4538a9936780cce0d10a", "input": { "changeId": "CHG-baseline", "repo": "acme/checkout", "pullRequest": 4, "service": { "name": "checkout", "pagerdutyServiceId": "PSVC123", "monitorIds": [], "errorRateQuery": "sum:checkout.errors{*}.as_rate()" }, "type": "standard", "opsChannel": "C0PLATFORM1", "approvers": [ "U_CAB_1", "U_CAB_2" ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a", "fs_case": "baseline" } }Recorded response · HTTP 200
{ "runId": "baseline-vr_55bd8d33c1bb4538a9936780cce0d10a", "workflow": "change-management-gate", "metadata": { "organization": "Acme", "company": "Acme Corporation", "environment": "unconfigured", "owner": "unassigned", "department": "unassigned", "ownerTeam": "unassigned", "oncall": "unassigned", "version": "unversioned", "sourceCommit": "unrecorded" }, "org": "Engineering", "team": "platform-ops", "phase": "DONE", "closed": true, "outcome": "partial", "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a", "fs_case": "baseline" }, "duplicateStarts": 1, "agents": [ { "name": "change-check", "status": "failed", "error": "github 404 EGeneral:Unknown method: GET /repos/acme/checkout/pulls/4/reviews → 404 EGeneral:Unknown method", "errorCode": "github:EGeneral:Unknown method", "durationMs": 342 }, { "name": "ops-check", "status": "ok", "summary": "0 high-urgency incident(s), 0 monitor(s) alerting", "durationMs": 340 }, { "name": "gate", "status": "ok", "summary": "blocked: the pull request could not be read", "durationMs": 0 } ], "actions": [ { "id": "slack.post_change:blocked", "kind": "slack.post_change", "provider": "slack", "agent": "gate", "gate": "auto", "status": "applied", "summary": { "channel": "C0PLATFORM1" }, "attempts": 1, "ref": "17NIQTXFGS.H03DA8", "appliedAt": "2026-10-22T20:10:38.973Z", "reconciled": null } ], "counts": { "applied": 1, "failed": 0, "pendingApproval": 0, "skipped": 0, "rejected": 0, "scheduled": 0, "awaitingSignal": 0, "compensated": 0 }, "wakeAt": null, "audit": { "seq": 5, "head": "4f97c162280ea9d7a6e27481a2abc5a199d2bb9916c28e44ab8ce930c5a4b959" }, "output": { "mode": "blocked", "reasons": [ "the pull request could not be read" ] }, "events": [ { "at": "2026-10-22T20:10:38.496Z", "msg": "started by U_FETCHSANDBOX" }, { "at": "2026-10-22T20:10:38.853Z", "msg": "agents: change-check=failed, ops-check=ok" }, { "at": "2026-10-22T20:10:38.857Z", "msg": "planned 1 action(s): 0 need approval" }, { "at": "2026-10-22T20:10:38.974Z", "msg": "slack.post_change:blocked: applied" }, { "at": "2026-10-22T20:10:38.975Z", "msg": "done (partial)" }, { "at": "2026-10-22T20:10:39.534Z", "msg": "duplicate start ignored" } ], "createdAt": "2026-10-22T20:10:38.496Z", "updatedAt": "2026-10-22T20:10:39.534Z", "duplicate": true } - · GET app request /verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/baseline/runs · baseline · HTTP 200
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/baseline/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-22T20:10:39.981287+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a", "x-fetchsandbox-relay": "[redacted]", "authorization": "[redacted]" }Recorded response headers
{ "content-type": "application/json" }Request body
This request had no body.
Recorded response · HTTP 200
{ "runs": [ { "runId": "baseline-vr_55bd8d33c1bb4538a9936780cce0d10a", "workflow": "change-management-gate", "metadata": { "organization": "Acme", "company": "Acme Corporation", "environment": "unconfigured", "owner": "unassigned", "department": "unassigned", "ownerTeam": "unassigned", "oncall": "unassigned", "version": "unversioned", "sourceCommit": "unrecorded" }, "org": "Engineering", "team": "platform-ops", "phase": "DONE", "closed": true, "outcome": "partial", "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a", "fs_case": "baseline" }, "duplicateStarts": 1, "agents": [ { "name": "change-check", "status": "failed", "error": "github 404 EGeneral:Unknown method: GET /repos/acme/checkout/pulls/4/reviews → 404 EGeneral:Unknown method", "errorCode": "github:EGeneral:Unknown method", "durationMs": 342 }, { "name": "ops-check", "status": "ok", "summary": "0 high-urgency incident(s), 0 monitor(s) alerting", "durationMs": 340 }, { "name": "gate", "status": "ok", "summary": "blocked: the pull request could not be read", "durationMs": 0 } ], "actions": [ { "id": "slack.post_change:blocked", "kind": "slack.post_change", "provider": "slack", "agent": "gate", "gate": "auto", "status": "applied", "summary": { "channel": "C0PLATFORM1" }, "attempts": 1, "ref": "17NIQTXFGS.H03DA8", "appliedAt": "2026-10-22T20:10:38.973Z", "reconciled": null } ], "counts": { "applied": 1, "failed": 0, "pendingApproval": 0, "skipped": 0, "rejected": 0, "scheduled": 0, "awaitingSignal": 0, "compensated": 0 }, "wakeAt": null, "audit": { "seq": 5, "head": "4f97c162280ea9d7a6e27481a2abc5a199d2bb9916c28e44ab8ce930c5a4b959" }, "output": { "mode": "blocked", "reasons": [ "the pull request could not be read" ] }, "events": [ { "at": "2026-10-22T20:10:38.496Z", "msg": "started by U_FETCHSANDBOX" }, { "at": "2026-10-22T20:10:38.853Z", "msg": "agents: change-check=failed, ops-check=ok" }, { "at": "2026-10-22T20:10:38.857Z", "msg": "planned 1 action(s): 0 need approval" }, { "at": "2026-10-22T20:10:38.974Z", "msg": "slack.post_change:blocked: applied" }, { "at": "2026-10-22T20:10:38.975Z", "msg": "done (partial)" }, { "at": "2026-10-22T20:10:39.534Z", "msg": "duplicate start ignored" } ], "createdAt": "2026-10-22T20:10:38.496Z", "updatedAt": "2026-10-22T20:10:39.534Z" } ] } - · GET app request /verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/change_facts_read/runs · change facts read · HTTP 200
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/change_facts_read/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-22T20:10:40.192396+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a", "x-fetchsandbox-relay": "[redacted]", "authorization": "[redacted]" }Recorded response headers
{ "content-type": "application/json", "content-length": "11" }Request body
This request had no body.
Recorded response · HTTP 200
{ "runs": [] } - · POST app request /invocations · change facts read · HTTP 200
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/invocations' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]' \ --header 'content-type: application/json' \ --data-raw '{ "action": "start", "runId": "change-facts-read-vr_55bd8d33c1bb4538a9936780cce0d10a", "input": { "changeId": "CHG-change-facts-read", "repo": "acme/checkout", "pullRequest": 4, "service": { "name": "checkout", "pagerdutyServiceId": "PSVC123", "monitorIds": [], "errorRateQuery": "sum:checkout.errors{*}.as_rate()" }, "type": "standard", "opsChannel": "C0PLATFORM1", "approvers": [ "U_CAB_1", "U_CAB_2" ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a", "fs_case": "change_facts_read" } }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-22T20:10:40.951470+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a", "x-fetchsandbox-relay": "[redacted]", "authorization": "[redacted]", "content-length": "504", "content-type": "application/json" }Recorded response headers
{ "content-type": "application/json" }Request body
{ "action": "start", "runId": "change-facts-read-vr_55bd8d33c1bb4538a9936780cce0d10a", "input": { "changeId": "CHG-change-facts-read", "repo": "acme/checkout", "pullRequest": 4, "service": { "name": "checkout", "pagerdutyServiceId": "PSVC123", "monitorIds": [], "errorRateQuery": "sum:checkout.errors{*}.as_rate()" }, "type": "standard", "opsChannel": "C0PLATFORM1", "approvers": [ "U_CAB_1", "U_CAB_2" ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a", "fs_case": "change_facts_read" } }Recorded response · HTTP 200
{ "runId": "change-facts-read-vr_55bd8d33c1bb4538a9936780cce0d10a", "workflow": "change-management-gate", "metadata": { "organization": "Acme", "company": "Acme Corporation", "environment": "unconfigured", "owner": "unassigned", "department": "unassigned", "ownerTeam": "unassigned", "oncall": "unassigned", "version": "unversioned", "sourceCommit": "unrecorded" }, "org": "Engineering", "team": "platform-ops", "phase": "DONE", "closed": true, "outcome": "partial", "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a", "fs_case": "change_facts_read" }, "duplicateStarts": 0, "agents": [ { "name": "change-check", "status": "failed", "error": "github 404 EGeneral:Unknown method: GET /repos/acme/checkout/pulls/4/reviews → 404 EGeneral:Unknown method", "errorCode": "github:EGeneral:Unknown method", "durationMs": 336 }, { "name": "ops-check", "status": "ok", "summary": "0 high-urgency incident(s), 0 monitor(s) alerting", "durationMs": 152 }, { "name": "gate", "status": "ok", "summary": "blocked: the pull request could not be read", "durationMs": 0 } ], "actions": [ { "id": "slack.post_change:blocked", "kind": "slack.post_change", "provider": "slack", "agent": "gate", "gate": "auto", "status": "applied", "summary": { "channel": "C0PLATFORM1" }, "attempts": 1, "ref": "17B1HIJJ75.NSNJ85", "appliedAt": "2026-10-22T20:10:40.829Z", "reconciled": null } ], "counts": { "applied": 1, "failed": 0, "pendingApproval": 0, "skipped": 0, "rejected": 0, "scheduled": 0, "awaitingSignal": 0, "compensated": 0 }, "wakeAt": null, "audit": { "seq": 4, "head": "8dde910a0c99e836629f3600f33a01f73fd3b6c49557fa641f7f667b009d7825" }, "output": { "mode": "blocked", "reasons": [ "the pull request could not be read" ] }, "events": [ { "at": "2026-10-22T20:10:40.319Z", "msg": "started by U_FETCHSANDBOX" }, { "at": "2026-10-22T20:10:40.656Z", "msg": "agents: change-check=failed, ops-check=ok" }, { "at": "2026-10-22T20:10:40.661Z", "msg": "planned 1 action(s): 0 need approval" }, { "at": "2026-10-22T20:10:40.829Z", "msg": "slack.post_change:blocked: applied" }, { "at": "2026-10-22T20:10:40.833Z", "msg": "done (partial)" } ], "createdAt": "2026-10-22T20:10:40.319Z", "updatedAt": "2026-10-22T20:10:40.833Z", "duplicate": false } - · GET github request · provider traffic · /repos/acme/checkout/pulls/4 · HTTP 200 · request dabcb22a8bbe · processing 1.85ms
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/sandbox/3de250868c/repos/acme/checkout/pulls/4' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 1.85ms.
Recorded request headers
{ "host": "fetchsandbox.com", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a" }Recorded response headers
Response headers were not saved in this run.
Request body
No body shown for this read.
Recorded response · HTTP 200
{ "id": 25, "number": 4, "title": "Fix checkout rounding", "body": null, "state": "open", "head": "fix-rounding", "base": "main", "draft": true, "merged": false, "mergeable": true, "additions": 84, "deletions": 55, "changed_files": 76, "created_at": "2026-10-22T20:09:25.589171+00:00", "updated_at": "2026-10-22T20:09:25.589196+00:00", "merged_at": null } - · GET pagerduty request · provider traffic · /incidents · HTTP 200 · request e57f36ae5e83 · processing 1.66ms
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/sandbox/c91902cec7/incidents' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 1.66ms.
Recorded request headers
{ "host": "fetchsandbox.com", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a" }Recorded response headers
Response headers were not saved in this run.
Request body
No body shown for this read.
Recorded response · HTTP 200
{ "ending_before": "sample-value", "filters": { "created_at_end": "2023-06-01T00:00:00-04:00", "created_at_start": "2023-05-01T00:00:00-04:00", "incident_type_ids": [ "PIJ90N7", "PKL73Z2" ], "major": true, "priority_ids": [ "PITMC5Y", "PEHBBT8", "PB8QADI" ], "priority_names": [ "P1", "P2", "P3" ], "service_ids": [ "PC8O0L3", "PX01HJD", "P5FK83M" ], "team_ids": [ "P373JQQ", "PAECHJV", "P7SYGW6" ], "updated_after": "sample-value", "urgency": "high" }, "limit": 20, "order": "asc", "order_by": "created_at", "starting_after": "sample-value", "time_zone": "UTC", "name": "Sample Incident 1", "responder_id": "9686c801-360b-4156-8901-94f5fd939dad" } - · GET github request · provider traffic · /repos/acme/checkout/pulls/4/reviews · HTTP 404 · request 6b349922e165 · processing 0.16ms
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/sandbox/3de250868c/repos/acme/checkout/pulls/4/reviews' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 0.16ms.
Recorded request headers
{ "host": "fetchsandbox.com", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a" }Recorded response headers
Response headers were not saved in this run.
Request body
No body shown for this read.
Recorded response · HTTP 404
{ "errors": [ { "status": "404", "code": "EGeneral:Unknown method", "detail": "No route matches GET /repos/acme/checkout/pulls/4/reviews" } ] } - · POST slack request · provider traffic · /api/chat.postMessage · HTTP 200 · request 077177a3aca5 · processing 12.77ms
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/sandbox/a097942801/api/chat.postMessage' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \ --header 'content-type: application/json; charset=utf-8' \ --data-raw '{ "channel": "C0PLATFORM1", "text": ":no_entry: CHG-change-facts-read (acme/checkout#4) blocked: the pull request could not be read.", "unfurl_links": false, "unfurl_media": false }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 12.77ms.
Recorded request headers
{ "host": "fetchsandbox.com", "content-length": "172", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a", "content-type": "application/json; charset=utf-8" }Recorded response headers
Response headers were not saved in this run.
Request body
{ "channel": "C0PLATFORM1", "text": ":no_entry: CHG-change-facts-read (acme/checkout#4) blocked: the pull request could not be read.", "unfurl_links": false, "unfurl_media": false }Recorded response · HTTP 200
{ "channel": "C0PLATFORM1", "message": { "bot_id": "bot_f680e39e533748ffacd41d007f", "client_msg_id": "cli_2d94dfb24a5c4947a7cf4ec7e7", "name": "item-5345f2", "old_name": "Sample Old", "parent_user_id": "par_63c36a4600d14fffb8b8e14176", "permalink": "my-resource", "reply_count": 0, "reply_users_count": 0, "text": "Sample text content", "ts": "sample-value", "type": "default", "unread_count": 0, "username": "acme-corp" }, "ok": true, "ts": "17B1HIJJ75.NSNJ85" } - · GET app request /verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/change_facts_read/runs · change facts read · HTTP 200
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/change_facts_read/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-22T20:10:41.304667+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a", "x-fetchsandbox-relay": "[redacted]", "authorization": "[redacted]" }Recorded response headers
{ "content-type": "application/json" }Request body
This request had no body.
Recorded response · HTTP 200
{ "runs": [ { "runId": "change-facts-read-vr_55bd8d33c1bb4538a9936780cce0d10a", "workflow": "change-management-gate", "metadata": { "organization": "Acme", "company": "Acme Corporation", "environment": "unconfigured", "owner": "unassigned", "department": "unassigned", "ownerTeam": "unassigned", "oncall": "unassigned", "version": "unversioned", "sourceCommit": "unrecorded" }, "org": "Engineering", "team": "platform-ops", "phase": "DONE", "closed": true, "outcome": "partial", "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a", "fs_case": "change_facts_read" }, "duplicateStarts": 0, "agents": [ { "name": "change-check", "status": "failed", "error": "github 404 EGeneral:Unknown method: GET /repos/acme/checkout/pulls/4/reviews → 404 EGeneral:Unknown method", "errorCode": "github:EGeneral:Unknown method", "durationMs": 336 }, { "name": "ops-check", "status": "ok", "summary": "0 high-urgency incident(s), 0 monitor(s) alerting", "durationMs": 152 }, { "name": "gate", "status": "ok", "summary": "blocked: the pull request could not be read", "durationMs": 0 } ], "actions": [ { "id": "slack.post_change:blocked", "kind": "slack.post_change", "provider": "slack", "agent": "gate", "gate": "auto", "status": "applied", "summary": { "channel": "C0PLATFORM1" }, "attempts": 1, "ref": "17B1HIJJ75.NSNJ85", "appliedAt": "2026-10-22T20:10:40.829Z", "reconciled": null } ], "counts": { "applied": 1, "failed": 0, "pendingApproval": 0, "skipped": 0, "rejected": 0, "scheduled": 0, "awaitingSignal": 0, "compensated": 0 }, "wakeAt": null, "audit": { "seq": 4, "head": "8dde910a0c99e836629f3600f33a01f73fd3b6c49557fa641f7f667b009d7825" }, "output": { "mode": "blocked", "reasons": [ "the pull request could not be read" ] }, "events": [ { "at": "2026-10-22T20:10:40.319Z", "msg": "started by U_FETCHSANDBOX" }, { "at": "2026-10-22T20:10:40.656Z", "msg": "agents: change-check=failed, ops-check=ok" }, { "at": "2026-10-22T20:10:40.661Z", "msg": "planned 1 action(s): 0 need approval" }, { "at": "2026-10-22T20:10:40.829Z", "msg": "slack.post_change:blocked: applied" }, { "at": "2026-10-22T20:10:40.833Z", "msg": "done (partial)" } ], "createdAt": "2026-10-22T20:10:40.319Z", "updatedAt": "2026-10-22T20:10:40.833Z" } ] } - · POST app request /invocations · change facts read · HTTP 200
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/invocations' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]' \ --header 'content-type: application/json' \ --data-raw '{ "action": "start", "runId": "change-facts-read-vr_55bd8d33c1bb4538a9936780cce0d10a", "input": { "changeId": "CHG-change-facts-read", "repo": "acme/checkout", "pullRequest": 4, "service": { "name": "checkout", "pagerdutyServiceId": "PSVC123", "monitorIds": [], "errorRateQuery": "sum:checkout.errors{*}.as_rate()" }, "type": "standard", "opsChannel": "C0PLATFORM1", "approvers": [ "U_CAB_1", "U_CAB_2" ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a", "fs_case": "change_facts_read" } }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-22T20:10:41.516373+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a", "x-fetchsandbox-relay": "[redacted]", "authorization": "[redacted]", "content-length": "504", "content-type": "application/json" }Recorded response headers
{ "content-type": "application/json" }Request body
{ "action": "start", "runId": "change-facts-read-vr_55bd8d33c1bb4538a9936780cce0d10a", "input": { "changeId": "CHG-change-facts-read", "repo": "acme/checkout", "pullRequest": 4, "service": { "name": "checkout", "pagerdutyServiceId": "PSVC123", "monitorIds": [], "errorRateQuery": "sum:checkout.errors{*}.as_rate()" }, "type": "standard", "opsChannel": "C0PLATFORM1", "approvers": [ "U_CAB_1", "U_CAB_2" ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a", "fs_case": "change_facts_read" } }Recorded response · HTTP 200
{ "runId": "change-facts-read-vr_55bd8d33c1bb4538a9936780cce0d10a", "workflow": "change-management-gate", "metadata": { "organization": "Acme", "company": "Acme Corporation", "environment": "unconfigured", "owner": "unassigned", "department": "unassigned", "ownerTeam": "unassigned", "oncall": "unassigned", "version": "unversioned", "sourceCommit": "unrecorded" }, "org": "Engineering", "team": "platform-ops", "phase": "DONE", "closed": true, "outcome": "partial", "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a", "fs_case": "change_facts_read" }, "duplicateStarts": 1, "agents": [ { "name": "change-check", "status": "failed", "error": "github 404 EGeneral:Unknown method: GET /repos/acme/checkout/pulls/4/reviews → 404 EGeneral:Unknown method", "errorCode": "github:EGeneral:Unknown method", "durationMs": 336 }, { "name": "ops-check", "status": "ok", "summary": "0 high-urgency incident(s), 0 monitor(s) alerting", "durationMs": 152 }, { "name": "gate", "status": "ok", "summary": "blocked: the pull request could not be read", "durationMs": 0 } ], "actions": [ { "id": "slack.post_change:blocked", "kind": "slack.post_change", "provider": "slack", "agent": "gate", "gate": "auto", "status": "applied", "summary": { "channel": "C0PLATFORM1" }, "attempts": 1, "ref": "17B1HIJJ75.NSNJ85", "appliedAt": "2026-10-22T20:10:40.829Z", "reconciled": null } ], "counts": { "applied": 1, "failed": 0, "pendingApproval": 0, "skipped": 0, "rejected": 0, "scheduled": 0, "awaitingSignal": 0, "compensated": 0 }, "wakeAt": null, "audit": { "seq": 5, "head": "9c5b0118ef50aadc088c0ed71ff9a045362ff52bdab929138dea1157aefa0c5c" }, "output": { "mode": "blocked", "reasons": [ "the pull request could not be read" ] }, "events": [ { "at": "2026-10-22T20:10:40.319Z", "msg": "started by U_FETCHSANDBOX" }, { "at": "2026-10-22T20:10:40.656Z", "msg": "agents: change-check=failed, ops-check=ok" }, { "at": "2026-10-22T20:10:40.661Z", "msg": "planned 1 action(s): 0 need approval" }, { "at": "2026-10-22T20:10:40.829Z", "msg": "slack.post_change:blocked: applied" }, { "at": "2026-10-22T20:10:40.833Z", "msg": "done (partial)" }, { "at": "2026-10-22T20:10:41.416Z", "msg": "duplicate start ignored" } ], "createdAt": "2026-10-22T20:10:40.319Z", "updatedAt": "2026-10-22T20:10:41.416Z", "duplicate": true } - · GET app request /verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/change_facts_read/runs · change facts read · HTTP 200
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/change_facts_read/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-22T20:10:41.843843+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a", "x-fetchsandbox-relay": "[redacted]", "authorization": "[redacted]" }Recorded response headers
{ "content-type": "application/json" }Request body
This request had no body.
Recorded response · HTTP 200
{ "runs": [ { "runId": "change-facts-read-vr_55bd8d33c1bb4538a9936780cce0d10a", "workflow": "change-management-gate", "metadata": { "organization": "Acme", "company": "Acme Corporation", "environment": "unconfigured", "owner": "unassigned", "department": "unassigned", "ownerTeam": "unassigned", "oncall": "unassigned", "version": "unversioned", "sourceCommit": "unrecorded" }, "org": "Engineering", "team": "platform-ops", "phase": "DONE", "closed": true, "outcome": "partial", "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a", "fs_case": "change_facts_read" }, "duplicateStarts": 1, "agents": [ { "name": "change-check", "status": "failed", "error": "github 404 EGeneral:Unknown method: GET /repos/acme/checkout/pulls/4/reviews → 404 EGeneral:Unknown method", "errorCode": "github:EGeneral:Unknown method", "durationMs": 336 }, { "name": "ops-check", "status": "ok", "summary": "0 high-urgency incident(s), 0 monitor(s) alerting", "durationMs": 152 }, { "name": "gate", "status": "ok", "summary": "blocked: the pull request could not be read", "durationMs": 0 } ], "actions": [ { "id": "slack.post_change:blocked", "kind": "slack.post_change", "provider": "slack", "agent": "gate", "gate": "auto", "status": "applied", "summary": { "channel": "C0PLATFORM1" }, "attempts": 1, "ref": "17B1HIJJ75.NSNJ85", "appliedAt": "2026-10-22T20:10:40.829Z", "reconciled": null } ], "counts": { "applied": 1, "failed": 0, "pendingApproval": 0, "skipped": 0, "rejected": 0, "scheduled": 0, "awaitingSignal": 0, "compensated": 0 }, "wakeAt": null, "audit": { "seq": 5, "head": "9c5b0118ef50aadc088c0ed71ff9a045362ff52bdab929138dea1157aefa0c5c" }, "output": { "mode": "blocked", "reasons": [ "the pull request could not be read" ] }, "events": [ { "at": "2026-10-22T20:10:40.319Z", "msg": "started by U_FETCHSANDBOX" }, { "at": "2026-10-22T20:10:40.656Z", "msg": "agents: change-check=failed, ops-check=ok" }, { "at": "2026-10-22T20:10:40.661Z", "msg": "planned 1 action(s): 0 need approval" }, { "at": "2026-10-22T20:10:40.829Z", "msg": "slack.post_change:blocked: applied" }, { "at": "2026-10-22T20:10:40.833Z", "msg": "done (partial)" }, { "at": "2026-10-22T20:10:41.416Z", "msg": "duplicate start ignored" } ], "createdAt": "2026-10-22T20:10:40.319Z", "updatedAt": "2026-10-22T20:10:41.416Z" } ] } - · GET app request /verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/ops_facts_read/runs · ops facts read · HTTP 200
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/ops_facts_read/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-22T20:10:42.117995+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a", "x-fetchsandbox-relay": "[redacted]", "authorization": "[redacted]" }Recorded response headers
{ "content-type": "application/json", "content-length": "11" }Request body
This request had no body.
Recorded response · HTTP 200
{ "runs": [] } - · POST app request /invocations · ops facts read · HTTP 200
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/invocations' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]' \ --header 'content-type: application/json' \ --data-raw '{ "action": "start", "runId": "ops-facts-read-vr_55bd8d33c1bb4538a9936780cce0d10a", "input": { "changeId": "CHG-ops-facts-read", "repo": "acme/checkout", "pullRequest": 4, "service": { "name": "checkout", "pagerdutyServiceId": "PSVC123", "monitorIds": [], "errorRateQuery": "sum:checkout.errors{*}.as_rate()" }, "type": "standard", "opsChannel": "C0PLATFORM1", "approvers": [ "U_CAB_1", "U_CAB_2" ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a", "fs_case": "ops_facts_read" } }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-22T20:10:42.658101+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a", "x-fetchsandbox-relay": "[redacted]", "authorization": "[redacted]", "content-length": "495", "content-type": "application/json" }Recorded response headers
{ "content-type": "application/json" }Request body
{ "action": "start", "runId": "ops-facts-read-vr_55bd8d33c1bb4538a9936780cce0d10a", "input": { "changeId": "CHG-ops-facts-read", "repo": "acme/checkout", "pullRequest": 4, "service": { "name": "checkout", "pagerdutyServiceId": "PSVC123", "monitorIds": [], "errorRateQuery": "sum:checkout.errors{*}.as_rate()" }, "type": "standard", "opsChannel": "C0PLATFORM1", "approvers": [ "U_CAB_1", "U_CAB_2" ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a", "fs_case": "ops_facts_read" } }Recorded response · HTTP 200
{ "runId": "ops-facts-read-vr_55bd8d33c1bb4538a9936780cce0d10a", "workflow": "change-management-gate", "metadata": { "organization": "Acme", "company": "Acme Corporation", "environment": "unconfigured", "owner": "unassigned", "department": "unassigned", "ownerTeam": "unassigned", "oncall": "unassigned", "version": "unversioned", "sourceCommit": "unrecorded" }, "org": "Engineering", "team": "platform-ops", "phase": "DONE", "closed": true, "outcome": "partial", "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a", "fs_case": "ops_facts_read" }, "duplicateStarts": 0, "agents": [ { "name": "change-check", "status": "failed", "error": "github 404 EGeneral:Unknown method: GET /repos/acme/checkout/pulls/4/reviews → 404 EGeneral:Unknown method", "errorCode": "github:EGeneral:Unknown method", "durationMs": 223 }, { "name": "ops-check", "status": "ok", "summary": "0 high-urgency incident(s), 0 monitor(s) alerting", "durationMs": 137 }, { "name": "gate", "status": "ok", "summary": "blocked: the pull request could not be read", "durationMs": 0 } ], "actions": [ { "id": "slack.post_change:blocked", "kind": "slack.post_change", "provider": "slack", "agent": "gate", "gate": "auto", "status": "applied", "summary": { "channel": "C0PLATFORM1" }, "attempts": 1, "ref": "17S356H63L.OIZ2PK", "appliedAt": "2026-10-22T20:10:42.561Z", "reconciled": null } ], "counts": { "applied": 1, "failed": 0, "pendingApproval": 0, "skipped": 0, "rejected": 0, "scheduled": 0, "awaitingSignal": 0, "compensated": 0 }, "wakeAt": null, "audit": { "seq": 4, "head": "cf08000fd643296f2bc8cd40606879232863cf248f0f301b4dd2cfcf445e9f59" }, "output": { "mode": "blocked", "reasons": [ "the pull request could not be read" ] }, "events": [ { "at": "2026-10-22T20:10:42.212Z", "msg": "started by U_FETCHSANDBOX" }, { "at": "2026-10-22T20:10:42.436Z", "msg": "agents: change-check=failed, ops-check=ok" }, { "at": "2026-10-22T20:10:42.439Z", "msg": "planned 1 action(s): 0 need approval" }, { "at": "2026-10-22T20:10:42.561Z", "msg": "slack.post_change:blocked: applied" }, { "at": "2026-10-22T20:10:42.563Z", "msg": "done (partial)" } ], "createdAt": "2026-10-22T20:10:42.212Z", "updatedAt": "2026-10-22T20:10:42.563Z", "duplicate": false } - · GET github request · provider traffic · /repos/acme/checkout/pulls/4 · HTTP 200 · request d0b00ace12b3 · processing 1.94ms
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/sandbox/3de250868c/repos/acme/checkout/pulls/4' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 1.94ms.
Recorded request headers
{ "host": "fetchsandbox.com", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a" }Recorded response headers
Response headers were not saved in this run.
Request body
No body shown for this read.
Recorded response · HTTP 200
{ "id": 25, "number": 4, "title": "Fix checkout rounding", "body": null, "state": "open", "head": "fix-rounding", "base": "main", "draft": true, "merged": false, "mergeable": true, "additions": 84, "deletions": 55, "changed_files": 76, "created_at": "2026-10-22T20:09:25.589171+00:00", "updated_at": "2026-10-22T20:09:25.589196+00:00", "merged_at": null } - · GET pagerduty request · provider traffic · /incidents · HTTP 200 · request 4c4df2edeb68 · processing 1.62ms
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/sandbox/c91902cec7/incidents' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 1.62ms.
Recorded request headers
{ "host": "fetchsandbox.com", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a" }Recorded response headers
Response headers were not saved in this run.
Request body
No body shown for this read.
Recorded response · HTTP 200
{ "ending_before": "sample-value", "filters": { "created_at_end": "2023-06-01T00:00:00-04:00", "created_at_start": "2023-05-01T00:00:00-04:00", "incident_type_ids": [ "PIJ90N7", "PKL73Z2" ], "major": true, "priority_ids": [ "PITMC5Y", "PEHBBT8", "PB8QADI" ], "priority_names": [ "P1", "P2", "P3" ], "service_ids": [ "PC8O0L3", "PX01HJD", "P5FK83M" ], "team_ids": [ "P373JQQ", "PAECHJV", "P7SYGW6" ], "updated_after": "sample-value", "urgency": "high" }, "limit": 20, "order": "asc", "order_by": "created_at", "starting_after": "sample-value", "time_zone": "UTC", "name": "Sample Incident 1", "responder_id": "9686c801-360b-4156-8901-94f5fd939dad" } - · GET github request · provider traffic · /repos/acme/checkout/pulls/4/reviews · HTTP 404 · request 674873826d94 · processing 0.16ms
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/sandbox/3de250868c/repos/acme/checkout/pulls/4/reviews' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 0.16ms.
Recorded request headers
{ "host": "fetchsandbox.com", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a" }Recorded response headers
Response headers were not saved in this run.
Request body
No body shown for this read.
Recorded response · HTTP 404
{ "errors": [ { "status": "404", "code": "EGeneral:Unknown method", "detail": "No route matches GET /repos/acme/checkout/pulls/4/reviews" } ] } - · POST slack request · provider traffic · /api/chat.postMessage · HTTP 200 · request cdb2d7a8267a · processing 14.87ms
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/sandbox/a097942801/api/chat.postMessage' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \ --header 'content-type: application/json; charset=utf-8' \ --data-raw '{ "channel": "C0PLATFORM1", "text": ":no_entry: CHG-ops-facts-read (acme/checkout#4) blocked: the pull request could not be read.", "unfurl_links": false, "unfurl_media": false }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 14.87ms.
Recorded request headers
{ "host": "fetchsandbox.com", "content-length": "169", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a", "content-type": "application/json; charset=utf-8" }Recorded response headers
Response headers were not saved in this run.
Request body
{ "channel": "C0PLATFORM1", "text": ":no_entry: CHG-ops-facts-read (acme/checkout#4) blocked: the pull request could not be read.", "unfurl_links": false, "unfurl_media": false }Recorded response · HTTP 200
{ "channel": "C0PLATFORM1", "message": { "bot_id": "bot_6367d138a7b543bf9d0b8b6f27", "client_msg_id": "cli_f5e7f1bd079b45bfa1c6f5ec15", "name": "item-faad4e", "old_name": "Sample Old", "parent_user_id": "par_97e4eb052b734be595d02b4bd3", "permalink": "my-resource", "reply_count": 0, "reply_users_count": 0, "text": "Sample text content", "ts": "sample-value", "type": "default", "unread_count": 0, "username": "acme-corp" }, "ok": true, "ts": "17S356H63L.OIZ2PK" } - · GET app request /verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/ops_facts_read/runs · ops facts read · HTTP 200
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/ops_facts_read/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-22T20:10:42.958955+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a", "x-fetchsandbox-relay": "[redacted]", "authorization": "[redacted]" }Recorded response headers
{ "content-type": "application/json" }Request body
This request had no body.
Recorded response · HTTP 200
{ "runs": [ { "runId": "ops-facts-read-vr_55bd8d33c1bb4538a9936780cce0d10a", "workflow": "change-management-gate", "metadata": { "organization": "Acme", "company": "Acme Corporation", "environment": "unconfigured", "owner": "unassigned", "department": "unassigned", "ownerTeam": "unassigned", "oncall": "unassigned", "version": "unversioned", "sourceCommit": "unrecorded" }, "org": "Engineering", "team": "platform-ops", "phase": "DONE", "closed": true, "outcome": "partial", "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a", "fs_case": "ops_facts_read" }, "duplicateStarts": 0, "agents": [ { "name": "change-check", "status": "failed", "error": "github 404 EGeneral:Unknown method: GET /repos/acme/checkout/pulls/4/reviews → 404 EGeneral:Unknown method", "errorCode": "github:EGeneral:Unknown method", "durationMs": 223 }, { "name": "ops-check", "status": "ok", "summary": "0 high-urgency incident(s), 0 monitor(s) alerting", "durationMs": 137 }, { "name": "gate", "status": "ok", "summary": "blocked: the pull request could not be read", "durationMs": 0 } ], "actions": [ { "id": "slack.post_change:blocked", "kind": "slack.post_change", "provider": "slack", "agent": "gate", "gate": "auto", "status": "applied", "summary": { "channel": "C0PLATFORM1" }, "attempts": 1, "ref": "17S356H63L.OIZ2PK", "appliedAt": "2026-10-22T20:10:42.561Z", "reconciled": null } ], "counts": { "applied": 1, "failed": 0, "pendingApproval": 0, "skipped": 0, "rejected": 0, "scheduled": 0, "awaitingSignal": 0, "compensated": 0 }, "wakeAt": null, "audit": { "seq": 4, "head": "cf08000fd643296f2bc8cd40606879232863cf248f0f301b4dd2cfcf445e9f59" }, "output": { "mode": "blocked", "reasons": [ "the pull request could not be read" ] }, "events": [ { "at": "2026-10-22T20:10:42.212Z", "msg": "started by U_FETCHSANDBOX" }, { "at": "2026-10-22T20:10:42.436Z", "msg": "agents: change-check=failed, ops-check=ok" }, { "at": "2026-10-22T20:10:42.439Z", "msg": "planned 1 action(s): 0 need approval" }, { "at": "2026-10-22T20:10:42.561Z", "msg": "slack.post_change:blocked: applied" }, { "at": "2026-10-22T20:10:42.563Z", "msg": "done (partial)" } ], "createdAt": "2026-10-22T20:10:42.212Z", "updatedAt": "2026-10-22T20:10:42.563Z" } ] } - · POST app request /invocations · ops facts read · HTTP 200
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/invocations' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]' \ --header 'content-type: application/json' \ --data-raw '{ "action": "start", "runId": "ops-facts-read-vr_55bd8d33c1bb4538a9936780cce0d10a", "input": { "changeId": "CHG-ops-facts-read", "repo": "acme/checkout", "pullRequest": 4, "service": { "name": "checkout", "pagerdutyServiceId": "PSVC123", "monitorIds": [], "errorRateQuery": "sum:checkout.errors{*}.as_rate()" }, "type": "standard", "opsChannel": "C0PLATFORM1", "approvers": [ "U_CAB_1", "U_CAB_2" ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a", "fs_case": "ops_facts_read" } }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-22T20:10:43.162895+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a", "x-fetchsandbox-relay": "[redacted]", "authorization": "[redacted]", "content-length": "495", "content-type": "application/json" }Recorded response headers
{ "content-type": "application/json" }Request body
{ "action": "start", "runId": "ops-facts-read-vr_55bd8d33c1bb4538a9936780cce0d10a", "input": { "changeId": "CHG-ops-facts-read", "repo": "acme/checkout", "pullRequest": 4, "service": { "name": "checkout", "pagerdutyServiceId": "PSVC123", "monitorIds": [], "errorRateQuery": "sum:checkout.errors{*}.as_rate()" }, "type": "standard", "opsChannel": "C0PLATFORM1", "approvers": [ "U_CAB_1", "U_CAB_2" ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a", "fs_case": "ops_facts_read" } }Recorded response · HTTP 200
{ "runId": "ops-facts-read-vr_55bd8d33c1bb4538a9936780cce0d10a", "workflow": "change-management-gate", "metadata": { "organization": "Acme", "company": "Acme Corporation", "environment": "unconfigured", "owner": "unassigned", "department": "unassigned", "ownerTeam": "unassigned", "oncall": "unassigned", "version": "unversioned", "sourceCommit": "unrecorded" }, "org": "Engineering", "team": "platform-ops", "phase": "DONE", "closed": true, "outcome": "partial", "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a", "fs_case": "ops_facts_read" }, "duplicateStarts": 1, "agents": [ { "name": "change-check", "status": "failed", "error": "github 404 EGeneral:Unknown method: GET /repos/acme/checkout/pulls/4/reviews → 404 EGeneral:Unknown method", "errorCode": "github:EGeneral:Unknown method", "durationMs": 223 }, { "name": "ops-check", "status": "ok", "summary": "0 high-urgency incident(s), 0 monitor(s) alerting", "durationMs": 137 }, { "name": "gate", "status": "ok", "summary": "blocked: the pull request could not be read", "durationMs": 0 } ], "actions": [ { "id": "slack.post_change:blocked", "kind": "slack.post_change", "provider": "slack", "agent": "gate", "gate": "auto", "status": "applied", "summary": { "channel": "C0PLATFORM1" }, "attempts": 1, "ref": "17S356H63L.OIZ2PK", "appliedAt": "2026-10-22T20:10:42.561Z", "reconciled": null } ], "counts": { "applied": 1, "failed": 0, "pendingApproval": 0, "skipped": 0, "rejected": 0, "scheduled": 0, "awaitingSignal": 0, "compensated": 0 }, "wakeAt": null, "audit": { "seq": 5, "head": "f5d13162ee88189844373300e748e9ea169df62ae41040ccc0eacb4b8159acd3" }, "output": { "mode": "blocked", "reasons": [ "the pull request could not be read" ] }, "events": [ { "at": "2026-10-22T20:10:42.212Z", "msg": "started by U_FETCHSANDBOX" }, { "at": "2026-10-22T20:10:42.436Z", "msg": "agents: change-check=failed, ops-check=ok" }, { "at": "2026-10-22T20:10:42.439Z", "msg": "planned 1 action(s): 0 need approval" }, { "at": "2026-10-22T20:10:42.561Z", "msg": "slack.post_change:blocked: applied" }, { "at": "2026-10-22T20:10:42.563Z", "msg": "done (partial)" }, { "at": "2026-10-22T20:10:43.055Z", "msg": "duplicate start ignored" } ], "createdAt": "2026-10-22T20:10:42.212Z", "updatedAt": "2026-10-22T20:10:43.055Z", "duplicate": true } - · GET app request /verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/ops_facts_read/runs · ops facts read · HTTP 200
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/ops_facts_read/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-22T20:10:43.462297+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a", "x-fetchsandbox-relay": "[redacted]", "authorization": "[redacted]" }Recorded response headers
{ "content-type": "application/json" }Request body
This request had no body.
Recorded response · HTTP 200
{ "runs": [ { "runId": "ops-facts-read-vr_55bd8d33c1bb4538a9936780cce0d10a", "workflow": "change-management-gate", "metadata": { "organization": "Acme", "company": "Acme Corporation", "environment": "unconfigured", "owner": "unassigned", "department": "unassigned", "ownerTeam": "unassigned", "oncall": "unassigned", "version": "unversioned", "sourceCommit": "unrecorded" }, "org": "Engineering", "team": "platform-ops", "phase": "DONE", "closed": true, "outcome": "partial", "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a", "fs_case": "ops_facts_read" }, "duplicateStarts": 1, "agents": [ { "name": "change-check", "status": "failed", "error": "github 404 EGeneral:Unknown method: GET /repos/acme/checkout/pulls/4/reviews → 404 EGeneral:Unknown method", "errorCode": "github:EGeneral:Unknown method", "durationMs": 223 }, { "name": "ops-check", "status": "ok", "summary": "0 high-urgency incident(s), 0 monitor(s) alerting", "durationMs": 137 }, { "name": "gate", "status": "ok", "summary": "blocked: the pull request could not be read", "durationMs": 0 } ], "actions": [ { "id": "slack.post_change:blocked", "kind": "slack.post_change", "provider": "slack", "agent": "gate", "gate": "auto", "status": "applied", "summary": { "channel": "C0PLATFORM1" }, "attempts": 1, "ref": "17S356H63L.OIZ2PK", "appliedAt": "2026-10-22T20:10:42.561Z", "reconciled": null } ], "counts": { "applied": 1, "failed": 0, "pendingApproval": 0, "skipped": 0, "rejected": 0, "scheduled": 0, "awaitingSignal": 0, "compensated": 0 }, "wakeAt": null, "audit": { "seq": 5, "head": "f5d13162ee88189844373300e748e9ea169df62ae41040ccc0eacb4b8159acd3" }, "output": { "mode": "blocked", "reasons": [ "the pull request could not be read" ] }, "events": [ { "at": "2026-10-22T20:10:42.212Z", "msg": "started by U_FETCHSANDBOX" }, { "at": "2026-10-22T20:10:42.436Z", "msg": "agents: change-check=failed, ops-check=ok" }, { "at": "2026-10-22T20:10:42.439Z", "msg": "planned 1 action(s): 0 need approval" }, { "at": "2026-10-22T20:10:42.561Z", "msg": "slack.post_change:blocked: applied" }, { "at": "2026-10-22T20:10:42.563Z", "msg": "done (partial)" }, { "at": "2026-10-22T20:10:43.055Z", "msg": "duplicate start ignored" } ], "createdAt": "2026-10-22T20:10:42.212Z", "updatedAt": "2026-10-22T20:10:43.055Z" } ] } - · GET app request /verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/standard_change_deploys/runs · standard change deploys · HTTP 200
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/standard_change_deploys/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-22T20:10:43.658494+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a", "x-fetchsandbox-relay": "[redacted]", "authorization": "[redacted]" }Recorded response headers
{ "content-type": "application/json", "content-length": "11" }Request body
This request had no body.
Recorded response · HTTP 200
{ "runs": [] } - · POST app request /invocations · standard change deploys · HTTP 200
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/invocations' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]' \ --header 'content-type: application/json' \ --data-raw '{ "action": "start", "runId": "standard-change-deploys-vr_55bd8d33c1bb4538a9936780cce0d10a", "input": { "changeId": "CHG-standard-change-deploys", "repo": "acme/checkout", "pullRequest": 4, "service": { "name": "checkout", "pagerdutyServiceId": "PSVC123", "monitorIds": [], "errorRateQuery": "sum:checkout.errors{*}.as_rate()" }, "type": "standard", "opsChannel": "C0PLATFORM1", "approvers": [ "U_CAB_1", "U_CAB_2" ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a", "fs_case": "standard_change_deploys" } }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-22T20:10:44.248834+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a", "x-fetchsandbox-relay": "[redacted]", "authorization": "[redacted]", "content-length": "522", "content-type": "application/json" }Recorded response headers
{ "content-type": "application/json" }Request body
{ "action": "start", "runId": "standard-change-deploys-vr_55bd8d33c1bb4538a9936780cce0d10a", "input": { "changeId": "CHG-standard-change-deploys", "repo": "acme/checkout", "pullRequest": 4, "service": { "name": "checkout", "pagerdutyServiceId": "PSVC123", "monitorIds": [], "errorRateQuery": "sum:checkout.errors{*}.as_rate()" }, "type": "standard", "opsChannel": "C0PLATFORM1", "approvers": [ "U_CAB_1", "U_CAB_2" ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a", "fs_case": "standard_change_deploys" } }Recorded response · HTTP 200
{ "runId": "standard-change-deploys-vr_55bd8d33c1bb4538a9936780cce0d10a", "workflow": "change-management-gate", "metadata": { "organization": "Acme", "company": "Acme Corporation", "environment": "unconfigured", "owner": "unassigned", "department": "unassigned", "ownerTeam": "unassigned", "oncall": "unassigned", "version": "unversioned", "sourceCommit": "unrecorded" }, "org": "Engineering", "team": "platform-ops", "phase": "DONE", "closed": true, "outcome": "partial", "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a", "fs_case": "standard_change_deploys" }, "duplicateStarts": 0, "agents": [ { "name": "change-check", "status": "failed", "error": "github 404 EGeneral:Unknown method: GET /repos/acme/checkout/pulls/4/reviews → 404 EGeneral:Unknown method", "errorCode": "github:EGeneral:Unknown method", "durationMs": 219 }, { "name": "ops-check", "status": "ok", "summary": "0 high-urgency incident(s), 0 monitor(s) alerting", "durationMs": 128 }, { "name": "gate", "status": "ok", "summary": "blocked: the pull request could not be read", "durationMs": 0 } ], "actions": [ { "id": "slack.post_change:blocked", "kind": "slack.post_change", "provider": "slack", "agent": "gate", "gate": "auto", "status": "applied", "summary": { "channel": "C0PLATFORM1" }, "attempts": 1, "ref": "17URJFBP4K.3QX01O", "appliedAt": "2026-10-22T20:10:44.142Z", "reconciled": null } ], "counts": { "applied": 1, "failed": 0, "pendingApproval": 0, "skipped": 0, "rejected": 0, "scheduled": 0, "awaitingSignal": 0, "compensated": 0 }, "wakeAt": null, "audit": { "seq": 4, "head": "1bb38a2258d168d24c935291898d203f14a8db1d5193868fa013e2ef7bbcef76" }, "output": { "mode": "blocked", "reasons": [ "the pull request could not be read" ] }, "events": [ { "at": "2026-10-22T20:10:43.760Z", "msg": "started by U_FETCHSANDBOX" }, { "at": "2026-10-22T20:10:43.980Z", "msg": "agents: change-check=failed, ops-check=ok" }, { "at": "2026-10-22T20:10:43.984Z", "msg": "planned 1 action(s): 0 need approval" }, { "at": "2026-10-22T20:10:44.142Z", "msg": "slack.post_change:blocked: applied" }, { "at": "2026-10-22T20:10:44.144Z", "msg": "done (partial)" } ], "createdAt": "2026-10-22T20:10:43.760Z", "updatedAt": "2026-10-22T20:10:44.144Z", "duplicate": false } - · GET github request · provider traffic · /repos/acme/checkout/pulls/4 · HTTP 200 · request 9ea477852a42 · processing 1.9ms
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/sandbox/3de250868c/repos/acme/checkout/pulls/4' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 1.9ms.
Recorded request headers
{ "host": "fetchsandbox.com", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a" }Recorded response headers
Response headers were not saved in this run.
Request body
No body shown for this read.
Recorded response · HTTP 200
{ "id": 25, "number": 4, "title": "Fix checkout rounding", "body": null, "state": "open", "head": "fix-rounding", "base": "main", "draft": true, "merged": false, "mergeable": true, "additions": 84, "deletions": 55, "changed_files": 76, "created_at": "2026-10-22T20:09:25.589171+00:00", "updated_at": "2026-10-22T20:09:25.589196+00:00", "merged_at": null } - · GET pagerduty request · provider traffic · /incidents · HTTP 200 · request 28b51a68d5c3 · processing 1.78ms
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/sandbox/c91902cec7/incidents' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 1.78ms.
Recorded request headers
{ "host": "fetchsandbox.com", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a" }Recorded response headers
Response headers were not saved in this run.
Request body
No body shown for this read.
Recorded response · HTTP 200
{ "ending_before": "sample-value", "filters": { "created_at_end": "2023-06-01T00:00:00-04:00", "created_at_start": "2023-05-01T00:00:00-04:00", "incident_type_ids": [ "PIJ90N7", "PKL73Z2" ], "major": true, "priority_ids": [ "PITMC5Y", "PEHBBT8", "PB8QADI" ], "priority_names": [ "P1", "P2", "P3" ], "service_ids": [ "PC8O0L3", "PX01HJD", "P5FK83M" ], "team_ids": [ "P373JQQ", "PAECHJV", "P7SYGW6" ], "updated_after": "sample-value", "urgency": "high" }, "limit": 20, "order": "asc", "order_by": "created_at", "starting_after": "sample-value", "time_zone": "UTC", "name": "Sample Incident 1", "responder_id": "9686c801-360b-4156-8901-94f5fd939dad" } - · GET github request · provider traffic · /repos/acme/checkout/pulls/4/reviews · HTTP 404 · request 2e79b10139c2 · processing 0.15ms
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/sandbox/3de250868c/repos/acme/checkout/pulls/4/reviews' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 0.15ms.
Recorded request headers
{ "host": "fetchsandbox.com", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a" }Recorded response headers
Response headers were not saved in this run.
Request body
No body shown for this read.
Recorded response · HTTP 404
{ "errors": [ { "status": "404", "code": "EGeneral:Unknown method", "detail": "No route matches GET /repos/acme/checkout/pulls/4/reviews" } ] } - · POST slack request · provider traffic · /api/chat.postMessage · HTTP 200 · request c506597c138f · processing 13.8ms
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/sandbox/a097942801/api/chat.postMessage' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \ --header 'content-type: application/json; charset=utf-8' \ --data-raw '{ "channel": "C0PLATFORM1", "text": ":no_entry: CHG-standard-change-deploys (acme/checkout#4) blocked: the pull request could not be read.", "unfurl_links": false, "unfurl_media": false }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 13.8ms.
Recorded request headers
{ "host": "fetchsandbox.com", "content-length": "178", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a", "content-type": "application/json; charset=utf-8" }Recorded response headers
Response headers were not saved in this run.
Request body
{ "channel": "C0PLATFORM1", "text": ":no_entry: CHG-standard-change-deploys (acme/checkout#4) blocked: the pull request could not be read.", "unfurl_links": false, "unfurl_media": false }Recorded response · HTTP 200
{ "channel": "C0PLATFORM1", "message": { "bot_id": "bot_0e5ac6ca7d4149b8859ee16652", "client_msg_id": "cli_eede2ee0d0eb4b1da1be57721f", "name": "item-bf6751", "old_name": "Sample Old", "parent_user_id": "par_d0e44703427d4d008883509356", "permalink": "my-resource", "reply_count": 0, "reply_users_count": 0, "text": "Sample text content", "ts": "sample-value", "type": "default", "unread_count": 0, "username": "acme-corp" }, "ok": true, "ts": "17URJFBP4K.3QX01O" } - · GET app request /verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/standard_change_deploys/runs · standard change deploys · HTTP 200
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/standard_change_deploys/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-22T20:10:44.541975+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a", "x-fetchsandbox-relay": "[redacted]", "authorization": "[redacted]" }Recorded response headers
{ "content-type": "application/json" }Request body
This request had no body.
Recorded response · HTTP 200
{ "runs": [ { "runId": "standard-change-deploys-vr_55bd8d33c1bb4538a9936780cce0d10a", "workflow": "change-management-gate", "metadata": { "organization": "Acme", "company": "Acme Corporation", "environment": "unconfigured", "owner": "unassigned", "department": "unassigned", "ownerTeam": "unassigned", "oncall": "unassigned", "version": "unversioned", "sourceCommit": "unrecorded" }, "org": "Engineering", "team": "platform-ops", "phase": "DONE", "closed": true, "outcome": "partial", "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a", "fs_case": "standard_change_deploys" }, "duplicateStarts": 0, "agents": [ { "name": "change-check", "status": "failed", "error": "github 404 EGeneral:Unknown method: GET /repos/acme/checkout/pulls/4/reviews → 404 EGeneral:Unknown method", "errorCode": "github:EGeneral:Unknown method", "durationMs": 219 }, { "name": "ops-check", "status": "ok", "summary": "0 high-urgency incident(s), 0 monitor(s) alerting", "durationMs": 128 }, { "name": "gate", "status": "ok", "summary": "blocked: the pull request could not be read", "durationMs": 0 } ], "actions": [ { "id": "slack.post_change:blocked", "kind": "slack.post_change", "provider": "slack", "agent": "gate", "gate": "auto", "status": "applied", "summary": { "channel": "C0PLATFORM1" }, "attempts": 1, "ref": "17URJFBP4K.3QX01O", "appliedAt": "2026-10-22T20:10:44.142Z", "reconciled": null } ], "counts": { "applied": 1, "failed": 0, "pendingApproval": 0, "skipped": 0, "rejected": 0, "scheduled": 0, "awaitingSignal": 0, "compensated": 0 }, "wakeAt": null, "audit": { "seq": 4, "head": "1bb38a2258d168d24c935291898d203f14a8db1d5193868fa013e2ef7bbcef76" }, "output": { "mode": "blocked", "reasons": [ "the pull request could not be read" ] }, "events": [ { "at": "2026-10-22T20:10:43.760Z", "msg": "started by U_FETCHSANDBOX" }, { "at": "2026-10-22T20:10:43.980Z", "msg": "agents: change-check=failed, ops-check=ok" }, { "at": "2026-10-22T20:10:43.984Z", "msg": "planned 1 action(s): 0 need approval" }, { "at": "2026-10-22T20:10:44.142Z", "msg": "slack.post_change:blocked: applied" }, { "at": "2026-10-22T20:10:44.144Z", "msg": "done (partial)" } ], "createdAt": "2026-10-22T20:10:43.760Z", "updatedAt": "2026-10-22T20:10:44.144Z" } ] } - · POST app request /invocations · standard change deploys · HTTP 200
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/invocations' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]' \ --header 'content-type: application/json' \ --data-raw '{ "action": "start", "runId": "standard-change-deploys-vr_55bd8d33c1bb4538a9936780cce0d10a", "input": { "changeId": "CHG-standard-change-deploys", "repo": "acme/checkout", "pullRequest": 4, "service": { "name": "checkout", "pagerdutyServiceId": "PSVC123", "monitorIds": [], "errorRateQuery": "sum:checkout.errors{*}.as_rate()" }, "type": "standard", "opsChannel": "C0PLATFORM1", "approvers": [ "U_CAB_1", "U_CAB_2" ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a", "fs_case": "standard_change_deploys" } }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-22T20:10:44.768725+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a", "x-fetchsandbox-relay": "[redacted]", "authorization": "[redacted]", "content-length": "522", "content-type": "application/json" }Recorded response headers
{ "content-type": "application/json" }Request body
{ "action": "start", "runId": "standard-change-deploys-vr_55bd8d33c1bb4538a9936780cce0d10a", "input": { "changeId": "CHG-standard-change-deploys", "repo": "acme/checkout", "pullRequest": 4, "service": { "name": "checkout", "pagerdutyServiceId": "PSVC123", "monitorIds": [], "errorRateQuery": "sum:checkout.errors{*}.as_rate()" }, "type": "standard", "opsChannel": "C0PLATFORM1", "approvers": [ "U_CAB_1", "U_CAB_2" ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a", "fs_case": "standard_change_deploys" } }Recorded response · HTTP 200
{ "runId": "standard-change-deploys-vr_55bd8d33c1bb4538a9936780cce0d10a", "workflow": "change-management-gate", "metadata": { "organization": "Acme", "company": "Acme Corporation", "environment": "unconfigured", "owner": "unassigned", "department": "unassigned", "ownerTeam": "unassigned", "oncall": "unassigned", "version": "unversioned", "sourceCommit": "unrecorded" }, "org": "Engineering", "team": "platform-ops", "phase": "DONE", "closed": true, "outcome": "partial", "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a", "fs_case": "standard_change_deploys" }, "duplicateStarts": 1, "agents": [ { "name": "change-check", "status": "failed", "error": "github 404 EGeneral:Unknown method: GET /repos/acme/checkout/pulls/4/reviews → 404 EGeneral:Unknown method", "errorCode": "github:EGeneral:Unknown method", "durationMs": 219 }, { "name": "ops-check", "status": "ok", "summary": "0 high-urgency incident(s), 0 monitor(s) alerting", "durationMs": 128 }, { "name": "gate", "status": "ok", "summary": "blocked: the pull request could not be read", "durationMs": 0 } ], "actions": [ { "id": "slack.post_change:blocked", "kind": "slack.post_change", "provider": "slack", "agent": "gate", "gate": "auto", "status": "applied", "summary": { "channel": "C0PLATFORM1" }, "attempts": 1, "ref": "17URJFBP4K.3QX01O", "appliedAt": "2026-10-22T20:10:44.142Z", "reconciled": null } ], "counts": { "applied": 1, "failed": 0, "pendingApproval": 0, "skipped": 0, "rejected": 0, "scheduled": 0, "awaitingSignal": 0, "compensated": 0 }, "wakeAt": null, "audit": { "seq": 5, "head": "b4003ee7ecd77874a3696d5975e9382c629873d123e862942c73e0aed9d54a83" }, "output": { "mode": "blocked", "reasons": [ "the pull request could not be read" ] }, "events": [ { "at": "2026-10-22T20:10:43.760Z", "msg": "started by U_FETCHSANDBOX" }, { "at": "2026-10-22T20:10:43.980Z", "msg": "agents: change-check=failed, ops-check=ok" }, { "at": "2026-10-22T20:10:43.984Z", "msg": "planned 1 action(s): 0 need approval" }, { "at": "2026-10-22T20:10:44.142Z", "msg": "slack.post_change:blocked: applied" }, { "at": "2026-10-22T20:10:44.144Z", "msg": "done (partial)" }, { "at": "2026-10-22T20:10:44.655Z", "msg": "duplicate start ignored" } ], "createdAt": "2026-10-22T20:10:43.760Z", "updatedAt": "2026-10-22T20:10:44.655Z", "duplicate": true } - · GET app request /verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/standard_change_deploys/runs · standard change deploys · HTTP 200
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/standard_change_deploys/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-22T20:10:45.124039+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a", "x-fetchsandbox-relay": "[redacted]", "authorization": "[redacted]" }Recorded response headers
{ "content-type": "application/json" }Request body
This request had no body.
Recorded response · HTTP 200
{ "runs": [ { "runId": "standard-change-deploys-vr_55bd8d33c1bb4538a9936780cce0d10a", "workflow": "change-management-gate", "metadata": { "organization": "Acme", "company": "Acme Corporation", "environment": "unconfigured", "owner": "unassigned", "department": "unassigned", "ownerTeam": "unassigned", "oncall": "unassigned", "version": "unversioned", "sourceCommit": "unrecorded" }, "org": "Engineering", "team": "platform-ops", "phase": "DONE", "closed": true, "outcome": "partial", "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a", "fs_case": "standard_change_deploys" }, "duplicateStarts": 1, "agents": [ { "name": "change-check", "status": "failed", "error": "github 404 EGeneral:Unknown method: GET /repos/acme/checkout/pulls/4/reviews → 404 EGeneral:Unknown method", "errorCode": "github:EGeneral:Unknown method", "durationMs": 219 }, { "name": "ops-check", "status": "ok", "summary": "0 high-urgency incident(s), 0 monitor(s) alerting", "durationMs": 128 }, { "name": "gate", "status": "ok", "summary": "blocked: the pull request could not be read", "durationMs": 0 } ], "actions": [ { "id": "slack.post_change:blocked", "kind": "slack.post_change", "provider": "slack", "agent": "gate", "gate": "auto", "status": "applied", "summary": { "channel": "C0PLATFORM1" }, "attempts": 1, "ref": "17URJFBP4K.3QX01O", "appliedAt": "2026-10-22T20:10:44.142Z", "reconciled": null } ], "counts": { "applied": 1, "failed": 0, "pendingApproval": 0, "skipped": 0, "rejected": 0, "scheduled": 0, "awaitingSignal": 0, "compensated": 0 }, "wakeAt": null, "audit": { "seq": 5, "head": "b4003ee7ecd77874a3696d5975e9382c629873d123e862942c73e0aed9d54a83" }, "output": { "mode": "blocked", "reasons": [ "the pull request could not be read" ] }, "events": [ { "at": "2026-10-22T20:10:43.760Z", "msg": "started by U_FETCHSANDBOX" }, { "at": "2026-10-22T20:10:43.980Z", "msg": "agents: change-check=failed, ops-check=ok" }, { "at": "2026-10-22T20:10:43.984Z", "msg": "planned 1 action(s): 0 need approval" }, { "at": "2026-10-22T20:10:44.142Z", "msg": "slack.post_change:blocked: applied" }, { "at": "2026-10-22T20:10:44.144Z", "msg": "done (partial)" }, { "at": "2026-10-22T20:10:44.655Z", "msg": "duplicate start ignored" } ], "createdAt": "2026-10-22T20:10:43.760Z", "updatedAt": "2026-10-22T20:10:44.655Z" } ] } - · GET app request /verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/normal_change_needs_cab/runs · normal change needs cab · HTTP 200
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/normal_change_needs_cab/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-22T20:10:45.334384+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a", "x-fetchsandbox-relay": "[redacted]", "authorization": "[redacted]" }Recorded response headers
{ "content-type": "application/json", "content-length": "11" }Request body
This request had no body.
Recorded response · HTTP 200
{ "runs": [] } - · POST app request /invocations · normal change needs cab · HTTP 200
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/invocations' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]' \ --header 'content-type: application/json' \ --data-raw '{ "action": "start", "runId": "normal-change-needs-cab-vr_55bd8d33c1bb4538a9936780cce0d10a", "input": { "changeId": "CHG-normal-change-needs-cab", "repo": "acme/checkout", "pullRequest": 4, "service": { "name": "checkout", "pagerdutyServiceId": "PSVC123", "monitorIds": [], "errorRateQuery": "sum:checkout.errors{*}.as_rate()" }, "type": "normal", "opsChannel": "C0PLATFORM1", "approvers": [ "U_CAB_1", "U_CAB_2" ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a", "fs_case": "normal_change_needs_cab" } }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-22T20:10:45.970309+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a", "x-fetchsandbox-relay": "[redacted]", "authorization": "[redacted]", "content-length": "520", "content-type": "application/json" }Recorded response headers
{ "content-type": "application/json" }Request body
{ "action": "start", "runId": "normal-change-needs-cab-vr_55bd8d33c1bb4538a9936780cce0d10a", "input": { "changeId": "CHG-normal-change-needs-cab", "repo": "acme/checkout", "pullRequest": 4, "service": { "name": "checkout", "pagerdutyServiceId": "PSVC123", "monitorIds": [], "errorRateQuery": "sum:checkout.errors{*}.as_rate()" }, "type": "normal", "opsChannel": "C0PLATFORM1", "approvers": [ "U_CAB_1", "U_CAB_2" ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a", "fs_case": "normal_change_needs_cab" } }Recorded response · HTTP 200
{ "runId": "normal-change-needs-cab-vr_55bd8d33c1bb4538a9936780cce0d10a", "workflow": "change-management-gate", "metadata": { "organization": "Acme", "company": "Acme Corporation", "environment": "unconfigured", "owner": "unassigned", "department": "unassigned", "ownerTeam": "unassigned", "oncall": "unassigned", "version": "unversioned", "sourceCommit": "unrecorded" }, "org": "Engineering", "team": "platform-ops", "phase": "DONE", "closed": true, "outcome": "partial", "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a", "fs_case": "normal_change_needs_cab" }, "duplicateStarts": 0, "agents": [ { "name": "change-check", "status": "failed", "error": "github 404 EGeneral:Unknown method: GET /repos/acme/checkout/pulls/4/reviews → 404 EGeneral:Unknown method", "errorCode": "github:EGeneral:Unknown method", "durationMs": 258 }, { "name": "ops-check", "status": "ok", "summary": "0 high-urgency incident(s), 0 monitor(s) alerting", "durationMs": 154 }, { "name": "gate", "status": "ok", "summary": "blocked: the pull request could not be read", "durationMs": 1 } ], "actions": [ { "id": "slack.post_change:blocked", "kind": "slack.post_change", "provider": "slack", "agent": "gate", "gate": "auto", "status": "applied", "summary": { "channel": "C0PLATFORM1" }, "attempts": 1, "ref": "17C8IJ93XU.J98Y7T", "appliedAt": "2026-10-22T20:10:45.866Z", "reconciled": null } ], "counts": { "applied": 1, "failed": 0, "pendingApproval": 0, "skipped": 0, "rejected": 0, "scheduled": 0, "awaitingSignal": 0, "compensated": 0 }, "wakeAt": null, "audit": { "seq": 4, "head": "bd9346d5453c3c144fb8faec6a2cbca7978b991c7d83707ac3f833c58d3208dd" }, "output": { "mode": "blocked", "reasons": [ "the pull request could not be read" ] }, "events": [ { "at": "2026-10-22T20:10:45.458Z", "msg": "started by U_FETCHSANDBOX" }, { "at": "2026-10-22T20:10:45.717Z", "msg": "agents: change-check=failed, ops-check=ok" }, { "at": "2026-10-22T20:10:45.720Z", "msg": "planned 1 action(s): 0 need approval" }, { "at": "2026-10-22T20:10:45.866Z", "msg": "slack.post_change:blocked: applied" }, { "at": "2026-10-22T20:10:45.868Z", "msg": "done (partial)" } ], "createdAt": "2026-10-22T20:10:45.458Z", "updatedAt": "2026-10-22T20:10:45.868Z", "duplicate": false } - · GET github request · provider traffic · /repos/acme/checkout/pulls/4 · HTTP 200 · request 336ea3ccebcb · processing 3.11ms
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/sandbox/3de250868c/repos/acme/checkout/pulls/4' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 3.11ms.
Recorded request headers
{ "host": "fetchsandbox.com", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a" }Recorded response headers
Response headers were not saved in this run.
Request body
No body shown for this read.
Recorded response · HTTP 200
{ "id": 25, "number": 4, "title": "Fix checkout rounding", "body": null, "state": "open", "head": "fix-rounding", "base": "main", "draft": true, "merged": false, "mergeable": true, "additions": 84, "deletions": 55, "changed_files": 76, "created_at": "2026-10-22T20:09:25.589171+00:00", "updated_at": "2026-10-22T20:09:25.589196+00:00", "merged_at": null } - · GET pagerduty request · provider traffic · /incidents · HTTP 200 · request 6cf1bae6d93f · processing 2.7ms
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/sandbox/c91902cec7/incidents' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 2.7ms.
Recorded request headers
{ "host": "fetchsandbox.com", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a" }Recorded response headers
Response headers were not saved in this run.
Request body
No body shown for this read.
Recorded response · HTTP 200
{ "ending_before": "sample-value", "filters": { "created_at_end": "2023-06-01T00:00:00-04:00", "created_at_start": "2023-05-01T00:00:00-04:00", "incident_type_ids": [ "PIJ90N7", "PKL73Z2" ], "major": true, "priority_ids": [ "PITMC5Y", "PEHBBT8", "PB8QADI" ], "priority_names": [ "P1", "P2", "P3" ], "service_ids": [ "PC8O0L3", "PX01HJD", "P5FK83M" ], "team_ids": [ "P373JQQ", "PAECHJV", "P7SYGW6" ], "updated_after": "sample-value", "urgency": "high" }, "limit": 20, "order": "asc", "order_by": "created_at", "starting_after": "sample-value", "time_zone": "UTC", "name": "Sample Incident 1", "responder_id": "9686c801-360b-4156-8901-94f5fd939dad" } - · GET github request · provider traffic · /repos/acme/checkout/pulls/4/reviews · HTTP 404 · request 15cf5ee7067a · processing 0.16ms
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/sandbox/3de250868c/repos/acme/checkout/pulls/4/reviews' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 0.16ms.
Recorded request headers
{ "host": "fetchsandbox.com", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a" }Recorded response headers
Response headers were not saved in this run.
Request body
No body shown for this read.
Recorded response · HTTP 404
{ "errors": [ { "status": "404", "code": "EGeneral:Unknown method", "detail": "No route matches GET /repos/acme/checkout/pulls/4/reviews" } ] } - · POST slack request · provider traffic · /api/chat.postMessage · HTTP 200 · request 1d7580eef95b · processing 13.83ms
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/sandbox/a097942801/api/chat.postMessage' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \ --header 'content-type: application/json; charset=utf-8' \ --data-raw '{ "channel": "C0PLATFORM1", "text": ":no_entry: CHG-normal-change-needs-cab (acme/checkout#4) blocked: the pull request could not be read.", "unfurl_links": false, "unfurl_media": false }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 13.83ms.
Recorded request headers
{ "host": "fetchsandbox.com", "content-length": "178", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a", "content-type": "application/json; charset=utf-8" }Recorded response headers
Response headers were not saved in this run.
Request body
{ "channel": "C0PLATFORM1", "text": ":no_entry: CHG-normal-change-needs-cab (acme/checkout#4) blocked: the pull request could not be read.", "unfurl_links": false, "unfurl_media": false }Recorded response · HTTP 200
{ "channel": "C0PLATFORM1", "message": { "bot_id": "bot_5e2ee6117ff548178f17d85988", "client_msg_id": "cli_56a55b5bb2874adfa054bb3c0d", "name": "item-473bd8", "old_name": "Sample Old", "parent_user_id": "par_3bd645e7e8a3403bba51c6af2e", "permalink": "my-resource", "reply_count": 0, "reply_users_count": 0, "text": "Sample text content", "ts": "sample-value", "type": "default", "unread_count": 0, "username": "acme-corp" }, "ok": true, "ts": "17C8IJ93XU.J98Y7T" } - · GET app request /verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/normal_change_needs_cab/runs · normal change needs cab · HTTP 200
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/normal_change_needs_cab/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-22T20:10:46.253891+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a", "x-fetchsandbox-relay": "[redacted]", "authorization": "[redacted]" }Recorded response headers
{ "content-type": "application/json" }Request body
This request had no body.
Recorded response · HTTP 200
{ "runs": [ { "runId": "normal-change-needs-cab-vr_55bd8d33c1bb4538a9936780cce0d10a", "workflow": "change-management-gate", "metadata": { "organization": "Acme", "company": "Acme Corporation", "environment": "unconfigured", "owner": "unassigned", "department": "unassigned", "ownerTeam": "unassigned", "oncall": "unassigned", "version": "unversioned", "sourceCommit": "unrecorded" }, "org": "Engineering", "team": "platform-ops", "phase": "DONE", "closed": true, "outcome": "partial", "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a", "fs_case": "normal_change_needs_cab" }, "duplicateStarts": 0, "agents": [ { "name": "change-check", "status": "failed", "error": "github 404 EGeneral:Unknown method: GET /repos/acme/checkout/pulls/4/reviews → 404 EGeneral:Unknown method", "errorCode": "github:EGeneral:Unknown method", "durationMs": 258 }, { "name": "ops-check", "status": "ok", "summary": "0 high-urgency incident(s), 0 monitor(s) alerting", "durationMs": 154 }, { "name": "gate", "status": "ok", "summary": "blocked: the pull request could not be read", "durationMs": 1 } ], "actions": [ { "id": "slack.post_change:blocked", "kind": "slack.post_change", "provider": "slack", "agent": "gate", "gate": "auto", "status": "applied", "summary": { "channel": "C0PLATFORM1" }, "attempts": 1, "ref": "17C8IJ93XU.J98Y7T", "appliedAt": "2026-10-22T20:10:45.866Z", "reconciled": null } ], "counts": { "applied": 1, "failed": 0, "pendingApproval": 0, "skipped": 0, "rejected": 0, "scheduled": 0, "awaitingSignal": 0, "compensated": 0 }, "wakeAt": null, "audit": { "seq": 4, "head": "bd9346d5453c3c144fb8faec6a2cbca7978b991c7d83707ac3f833c58d3208dd" }, "output": { "mode": "blocked", "reasons": [ "the pull request could not be read" ] }, "events": [ { "at": "2026-10-22T20:10:45.458Z", "msg": "started by U_FETCHSANDBOX" }, { "at": "2026-10-22T20:10:45.717Z", "msg": "agents: change-check=failed, ops-check=ok" }, { "at": "2026-10-22T20:10:45.720Z", "msg": "planned 1 action(s): 0 need approval" }, { "at": "2026-10-22T20:10:45.866Z", "msg": "slack.post_change:blocked: applied" }, { "at": "2026-10-22T20:10:45.868Z", "msg": "done (partial)" } ], "createdAt": "2026-10-22T20:10:45.458Z", "updatedAt": "2026-10-22T20:10:45.868Z" } ] } - · POST app request /invocations · normal change needs cab · HTTP 200
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/invocations' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]' \ --header 'content-type: application/json' \ --data-raw '{ "action": "start", "runId": "normal-change-needs-cab-vr_55bd8d33c1bb4538a9936780cce0d10a", "input": { "changeId": "CHG-normal-change-needs-cab", "repo": "acme/checkout", "pullRequest": 4, "service": { "name": "checkout", "pagerdutyServiceId": "PSVC123", "monitorIds": [], "errorRateQuery": "sum:checkout.errors{*}.as_rate()" }, "type": "normal", "opsChannel": "C0PLATFORM1", "approvers": [ "U_CAB_1", "U_CAB_2" ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a", "fs_case": "normal_change_needs_cab" } }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-22T20:10:46.465411+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a", "x-fetchsandbox-relay": "[redacted]", "authorization": "[redacted]", "content-length": "520", "content-type": "application/json" }Recorded response headers
{ "content-type": "application/json" }Request body
{ "action": "start", "runId": "normal-change-needs-cab-vr_55bd8d33c1bb4538a9936780cce0d10a", "input": { "changeId": "CHG-normal-change-needs-cab", "repo": "acme/checkout", "pullRequest": 4, "service": { "name": "checkout", "pagerdutyServiceId": "PSVC123", "monitorIds": [], "errorRateQuery": "sum:checkout.errors{*}.as_rate()" }, "type": "normal", "opsChannel": "C0PLATFORM1", "approvers": [ "U_CAB_1", "U_CAB_2" ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a", "fs_case": "normal_change_needs_cab" } }Recorded response · HTTP 200
{ "runId": "normal-change-needs-cab-vr_55bd8d33c1bb4538a9936780cce0d10a", "workflow": "change-management-gate", "metadata": { "organization": "Acme", "company": "Acme Corporation", "environment": "unconfigured", "owner": "unassigned", "department": "unassigned", "ownerTeam": "unassigned", "oncall": "unassigned", "version": "unversioned", "sourceCommit": "unrecorded" }, "org": "Engineering", "team": "platform-ops", "phase": "DONE", "closed": true, "outcome": "partial", "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a", "fs_case": "normal_change_needs_cab" }, "duplicateStarts": 1, "agents": [ { "name": "change-check", "status": "failed", "error": "github 404 EGeneral:Unknown method: GET /repos/acme/checkout/pulls/4/reviews → 404 EGeneral:Unknown method", "errorCode": "github:EGeneral:Unknown method", "durationMs": 258 }, { "name": "ops-check", "status": "ok", "summary": "0 high-urgency incident(s), 0 monitor(s) alerting", "durationMs": 154 }, { "name": "gate", "status": "ok", "summary": "blocked: the pull request could not be read", "durationMs": 1 } ], "actions": [ { "id": "slack.post_change:blocked", "kind": "slack.post_change", "provider": "slack", "agent": "gate", "gate": "auto", "status": "applied", "summary": { "channel": "C0PLATFORM1" }, "attempts": 1, "ref": "17C8IJ93XU.J98Y7T", "appliedAt": "2026-10-22T20:10:45.866Z", "reconciled": null } ], "counts": { "applied": 1, "failed": 0, "pendingApproval": 0, "skipped": 0, "rejected": 0, "scheduled": 0, "awaitingSignal": 0, "compensated": 0 }, "wakeAt": null, "audit": { "seq": 5, "head": "2278a643de1fce200f1c04be432eb716dbf6b66e0c66a79d499a5d7e52ef0df8" }, "output": { "mode": "blocked", "reasons": [ "the pull request could not be read" ] }, "events": [ { "at": "2026-10-22T20:10:45.458Z", "msg": "started by U_FETCHSANDBOX" }, { "at": "2026-10-22T20:10:45.717Z", "msg": "agents: change-check=failed, ops-check=ok" }, { "at": "2026-10-22T20:10:45.720Z", "msg": "planned 1 action(s): 0 need approval" }, { "at": "2026-10-22T20:10:45.866Z", "msg": "slack.post_change:blocked: applied" }, { "at": "2026-10-22T20:10:45.868Z", "msg": "done (partial)" }, { "at": "2026-10-22T20:10:46.358Z", "msg": "duplicate start ignored" } ], "createdAt": "2026-10-22T20:10:45.458Z", "updatedAt": "2026-10-22T20:10:46.358Z", "duplicate": true } - · GET app request /verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/normal_change_needs_cab/runs · normal change needs cab · HTTP 200
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/normal_change_needs_cab/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-22T20:10:46.771331+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a", "x-fetchsandbox-relay": "[redacted]", "authorization": "[redacted]" }Recorded response headers
{ "content-type": "application/json" }Request body
This request had no body.
Recorded response · HTTP 200
{ "runs": [ { "runId": "normal-change-needs-cab-vr_55bd8d33c1bb4538a9936780cce0d10a", "workflow": "change-management-gate", "metadata": { "organization": "Acme", "company": "Acme Corporation", "environment": "unconfigured", "owner": "unassigned", "department": "unassigned", "ownerTeam": "unassigned", "oncall": "unassigned", "version": "unversioned", "sourceCommit": "unrecorded" }, "org": "Engineering", "team": "platform-ops", "phase": "DONE", "closed": true, "outcome": "partial", "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a", "fs_case": "normal_change_needs_cab" }, "duplicateStarts": 1, "agents": [ { "name": "change-check", "status": "failed", "error": "github 404 EGeneral:Unknown method: GET /repos/acme/checkout/pulls/4/reviews → 404 EGeneral:Unknown method", "errorCode": "github:EGeneral:Unknown method", "durationMs": 258 }, { "name": "ops-check", "status": "ok", "summary": "0 high-urgency incident(s), 0 monitor(s) alerting", "durationMs": 154 }, { "name": "gate", "status": "ok", "summary": "blocked: the pull request could not be read", "durationMs": 1 } ], "actions": [ { "id": "slack.post_change:blocked", "kind": "slack.post_change", "provider": "slack", "agent": "gate", "gate": "auto", "status": "applied", "summary": { "channel": "C0PLATFORM1" }, "attempts": 1, "ref": "17C8IJ93XU.J98Y7T", "appliedAt": "2026-10-22T20:10:45.866Z", "reconciled": null } ], "counts": { "applied": 1, "failed": 0, "pendingApproval": 0, "skipped": 0, "rejected": 0, "scheduled": 0, "awaitingSignal": 0, "compensated": 0 }, "wakeAt": null, "audit": { "seq": 5, "head": "2278a643de1fce200f1c04be432eb716dbf6b66e0c66a79d499a5d7e52ef0df8" }, "output": { "mode": "blocked", "reasons": [ "the pull request could not be read" ] }, "events": [ { "at": "2026-10-22T20:10:45.458Z", "msg": "started by U_FETCHSANDBOX" }, { "at": "2026-10-22T20:10:45.717Z", "msg": "agents: change-check=failed, ops-check=ok" }, { "at": "2026-10-22T20:10:45.720Z", "msg": "planned 1 action(s): 0 need approval" }, { "at": "2026-10-22T20:10:45.866Z", "msg": "slack.post_change:blocked: applied" }, { "at": "2026-10-22T20:10:45.868Z", "msg": "done (partial)" }, { "at": "2026-10-22T20:10:46.358Z", "msg": "duplicate start ignored" } ], "createdAt": "2026-10-22T20:10:45.458Z", "updatedAt": "2026-10-22T20:10:46.358Z" } ] } - · GET app request /verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/author_cannot_approve/runs · author cannot approve · HTTP 200
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/author_cannot_approve/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-22T20:10:46.996068+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a", "x-fetchsandbox-relay": "[redacted]", "authorization": "[redacted]" }Recorded response headers
{ "content-type": "application/json", "content-length": "11" }Request body
This request had no body.
Recorded response · HTTP 200
{ "runs": [] } - · POST app request /invocations · author cannot approve · HTTP 200
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/invocations' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]' \ --header 'content-type: application/json' \ --data-raw '{ "action": "start", "runId": "author-cannot-approve-vr_55bd8d33c1bb4538a9936780cce0d10a", "input": { "changeId": "CHG-author-cannot-approve", "repo": "acme/checkout", "pullRequest": 4, "service": { "name": "checkout", "pagerdutyServiceId": "PSVC123", "monitorIds": [], "errorRateQuery": "sum:checkout.errors{*}.as_rate()" }, "type": "normal", "opsChannel": "C0PLATFORM1", "approvers": [ "U_CAB_1", "octocat" ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a", "fs_case": "author_cannot_approve" } }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-22T20:10:47.583368+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a", "x-fetchsandbox-relay": "[redacted]", "authorization": "[redacted]", "content-length": "514", "content-type": "application/json" }Recorded response headers
{ "content-type": "application/json" }Request body
{ "action": "start", "runId": "author-cannot-approve-vr_55bd8d33c1bb4538a9936780cce0d10a", "input": { "changeId": "CHG-author-cannot-approve", "repo": "acme/checkout", "pullRequest": 4, "service": { "name": "checkout", "pagerdutyServiceId": "PSVC123", "monitorIds": [], "errorRateQuery": "sum:checkout.errors{*}.as_rate()" }, "type": "normal", "opsChannel": "C0PLATFORM1", "approvers": [ "U_CAB_1", "octocat" ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a", "fs_case": "author_cannot_approve" } }Recorded response · HTTP 200
{ "runId": "author-cannot-approve-vr_55bd8d33c1bb4538a9936780cce0d10a", "workflow": "change-management-gate", "metadata": { "organization": "Acme", "company": "Acme Corporation", "environment": "unconfigured", "owner": "unassigned", "department": "unassigned", "ownerTeam": "unassigned", "oncall": "unassigned", "version": "unversioned", "sourceCommit": "unrecorded" }, "org": "Engineering", "team": "platform-ops", "phase": "DONE", "closed": true, "outcome": "partial", "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a", "fs_case": "author_cannot_approve" }, "duplicateStarts": 0, "agents": [ { "name": "change-check", "status": "failed", "error": "github 404 EGeneral:Unknown method: GET /repos/acme/checkout/pulls/4/reviews → 404 EGeneral:Unknown method", "errorCode": "github:EGeneral:Unknown method", "durationMs": 253 }, { "name": "ops-check", "status": "ok", "summary": "0 high-urgency incident(s), 0 monitor(s) alerting", "durationMs": 138 }, { "name": "gate", "status": "ok", "summary": "blocked: the pull request could not be read", "durationMs": 0 } ], "actions": [ { "id": "slack.post_change:blocked", "kind": "slack.post_change", "provider": "slack", "agent": "gate", "gate": "auto", "status": "applied", "summary": { "channel": "C0PLATFORM1" }, "attempts": 1, "ref": "175P82D69P.4PGSED", "appliedAt": "2026-10-22T20:10:47.482Z", "reconciled": null } ], "counts": { "applied": 1, "failed": 0, "pendingApproval": 0, "skipped": 0, "rejected": 0, "scheduled": 0, "awaitingSignal": 0, "compensated": 0 }, "wakeAt": null, "audit": { "seq": 4, "head": "e72b32e2147461606a0eb065a2343a17a3bf3da78a20eb3c596659523e1a9a1e" }, "output": { "mode": "blocked", "reasons": [ "the pull request could not be read" ] }, "events": [ { "at": "2026-10-22T20:10:47.096Z", "msg": "started by U_FETCHSANDBOX" }, { "at": "2026-10-22T20:10:47.350Z", "msg": "agents: change-check=failed, ops-check=ok" }, { "at": "2026-10-22T20:10:47.353Z", "msg": "planned 1 action(s): 0 need approval" }, { "at": "2026-10-22T20:10:47.482Z", "msg": "slack.post_change:blocked: applied" }, { "at": "2026-10-22T20:10:47.484Z", "msg": "done (partial)" } ], "createdAt": "2026-10-22T20:10:47.096Z", "updatedAt": "2026-10-22T20:10:47.484Z", "duplicate": false } - · GET github request · provider traffic · /repos/acme/checkout/pulls/4 · HTTP 200 · request c8db1a473160 · processing 1.9ms
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/sandbox/3de250868c/repos/acme/checkout/pulls/4' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 1.9ms.
Recorded request headers
{ "host": "fetchsandbox.com", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a" }Recorded response headers
Response headers were not saved in this run.
Request body
No body shown for this read.
Recorded response · HTTP 200
{ "id": 25, "number": 4, "title": "Fix checkout rounding", "body": null, "state": "open", "head": "fix-rounding", "base": "main", "draft": true, "merged": false, "mergeable": true, "additions": 84, "deletions": 55, "changed_files": 76, "created_at": "2026-10-22T20:09:25.589171+00:00", "updated_at": "2026-10-22T20:09:25.589196+00:00", "merged_at": null } - · GET pagerduty request · provider traffic · /incidents · HTTP 200 · request da2c122490f8 · processing 1.87ms
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/sandbox/c91902cec7/incidents' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 1.87ms.
Recorded request headers
{ "host": "fetchsandbox.com", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a" }Recorded response headers
Response headers were not saved in this run.
Request body
No body shown for this read.
Recorded response · HTTP 200
{ "ending_before": "sample-value", "filters": { "created_at_end": "2023-06-01T00:00:00-04:00", "created_at_start": "2023-05-01T00:00:00-04:00", "incident_type_ids": [ "PIJ90N7", "PKL73Z2" ], "major": true, "priority_ids": [ "PITMC5Y", "PEHBBT8", "PB8QADI" ], "priority_names": [ "P1", "P2", "P3" ], "service_ids": [ "PC8O0L3", "PX01HJD", "P5FK83M" ], "team_ids": [ "P373JQQ", "PAECHJV", "P7SYGW6" ], "updated_after": "sample-value", "urgency": "high" }, "limit": 20, "order": "asc", "order_by": "created_at", "starting_after": "sample-value", "time_zone": "UTC", "name": "Sample Incident 1", "responder_id": "9686c801-360b-4156-8901-94f5fd939dad" } - · GET github request · provider traffic · /repos/acme/checkout/pulls/4/reviews · HTTP 404 · request 515ff7e51a6d · processing 0.15ms
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/sandbox/3de250868c/repos/acme/checkout/pulls/4/reviews' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 0.15ms.
Recorded request headers
{ "host": "fetchsandbox.com", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a" }Recorded response headers
Response headers were not saved in this run.
Request body
No body shown for this read.
Recorded response · HTTP 404
{ "errors": [ { "status": "404", "code": "EGeneral:Unknown method", "detail": "No route matches GET /repos/acme/checkout/pulls/4/reviews" } ] } - · POST slack request · provider traffic · /api/chat.postMessage · HTTP 200 · request 969ef70fcd7b · processing 14.05ms
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/sandbox/a097942801/api/chat.postMessage' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \ --header 'content-type: application/json; charset=utf-8' \ --data-raw '{ "channel": "C0PLATFORM1", "text": ":no_entry: CHG-author-cannot-approve (acme/checkout#4) blocked: the pull request could not be read.", "unfurl_links": false, "unfurl_media": false }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 14.05ms.
Recorded request headers
{ "host": "fetchsandbox.com", "content-length": "176", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a", "content-type": "application/json; charset=utf-8" }Recorded response headers
Response headers were not saved in this run.
Request body
{ "channel": "C0PLATFORM1", "text": ":no_entry: CHG-author-cannot-approve (acme/checkout#4) blocked: the pull request could not be read.", "unfurl_links": false, "unfurl_media": false }Recorded response · HTTP 200
{ "channel": "C0PLATFORM1", "message": { "bot_id": "bot_52c7393cb0974740bbbb18619a", "client_msg_id": "cli_57a9f0a1dfb54b1b8d75993ae7", "name": "item-5bb97e", "old_name": "Sample Old", "parent_user_id": "par_2185e0108be54c0b971bb700dd", "permalink": "my-resource", "reply_count": 0, "reply_users_count": 0, "text": "Sample text content", "ts": "sample-value", "type": "default", "unread_count": 0, "username": "acme-corp" }, "ok": true, "ts": "175P82D69P.4PGSED" } - · POST app request /invocations · author cannot approve · HTTP 404
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/invocations' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]' \ --header 'content-type: application/json' \ --data-raw '{ "action": "signal", "runId": "author-cannot-approve-vr_55bd8d33c1bb4538a9936780cce0d10a", "actionId": "cab.approve:CHG-author-cannot-approve", "value": "approve", "userId": "octocat" }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-22T20:10:47.776294+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a", "x-fetchsandbox-relay": "[redacted]", "authorization": "[redacted]", "content-length": "175", "content-type": "application/json" }Recorded response headers
{ "content-type": "application/json" }Request body
{ "action": "signal", "runId": "author-cannot-approve-vr_55bd8d33c1bb4538a9936780cce0d10a", "actionId": "cab.approve:CHG-author-cannot-approve", "value": "approve", "userId": "octocat" }Recorded response · HTTP 404
{ "result": "no_such_signal", "runId": "author-cannot-approve-vr_55bd8d33c1bb4538a9936780cce0d10a", "actionId": "cab.approve:CHG-author-cannot-approve" } - · GET app request /verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/healthy_watch_marks_success/runs · healthy watch marks success · HTTP 200
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/healthy_watch_marks_success/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-22T20:10:47.988255+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a", "x-fetchsandbox-relay": "[redacted]", "authorization": "[redacted]" }Recorded response headers
{ "content-type": "application/json", "content-length": "11" }Request body
This request had no body.
Recorded response · HTTP 200
{ "runs": [] } - · POST app request /invocations · healthy watch marks success · HTTP 200
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/invocations' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]' \ --header 'content-type: application/json' \ --data-raw '{ "action": "start", "runId": "healthy-watch-marks-success-vr_55bd8d33c1bb4538a9936780cce0d10a", "input": { "changeId": "CHG-healthy-watch-marks-success", "repo": "acme/checkout", "pullRequest": 4, "service": { "name": "checkout", "pagerdutyServiceId": "PSVC123", "monitorIds": [], "errorRateQuery": "sum:checkout.errors{*}.as_rate()" }, "type": "standard", "opsChannel": "C0PLATFORM1", "approvers": [ "U_CAB_1", "U_CAB_2" ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a", "fs_case": "healthy_watch_marks_success" } }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-22T20:10:48.567536+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a", "x-fetchsandbox-relay": "[redacted]", "authorization": "[redacted]", "content-length": "534", "content-type": "application/json" }Recorded response headers
{ "content-type": "application/json" }Request body
{ "action": "start", "runId": "healthy-watch-marks-success-vr_55bd8d33c1bb4538a9936780cce0d10a", "input": { "changeId": "CHG-healthy-watch-marks-success", "repo": "acme/checkout", "pullRequest": 4, "service": { "name": "checkout", "pagerdutyServiceId": "PSVC123", "monitorIds": [], "errorRateQuery": "sum:checkout.errors{*}.as_rate()" }, "type": "standard", "opsChannel": "C0PLATFORM1", "approvers": [ "U_CAB_1", "U_CAB_2" ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a", "fs_case": "healthy_watch_marks_success" } }Recorded response · HTTP 200
{ "runId": "healthy-watch-marks-success-vr_55bd8d33c1bb4538a9936780cce0d10a", "workflow": "change-management-gate", "metadata": { "organization": "Acme", "company": "Acme Corporation", "environment": "unconfigured", "owner": "unassigned", "department": "unassigned", "ownerTeam": "unassigned", "oncall": "unassigned", "version": "unversioned", "sourceCommit": "unrecorded" }, "org": "Engineering", "team": "platform-ops", "phase": "DONE", "closed": true, "outcome": "partial", "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a", "fs_case": "healthy_watch_marks_success" }, "duplicateStarts": 0, "agents": [ { "name": "change-check", "status": "failed", "error": "github 404 EGeneral:Unknown method: GET /repos/acme/checkout/pulls/4/reviews → 404 EGeneral:Unknown method", "errorCode": "github:EGeneral:Unknown method", "durationMs": 241 }, { "name": "ops-check", "status": "ok", "summary": "0 high-urgency incident(s), 0 monitor(s) alerting", "durationMs": 123 }, { "name": "gate", "status": "ok", "summary": "blocked: the pull request could not be read", "durationMs": 0 } ], "actions": [ { "id": "slack.post_change:blocked", "kind": "slack.post_change", "provider": "slack", "agent": "gate", "gate": "auto", "status": "applied", "summary": { "channel": "C0PLATFORM1" }, "attempts": 1, "ref": "171AIAPWZ4.U48FM0", "appliedAt": "2026-10-22T20:10:48.452Z", "reconciled": null } ], "counts": { "applied": 1, "failed": 0, "pendingApproval": 0, "skipped": 0, "rejected": 0, "scheduled": 0, "awaitingSignal": 0, "compensated": 0 }, "wakeAt": null, "audit": { "seq": 4, "head": "d388fef340addf8976f71fa3e53ba6b4e70278690c8e83dec7ae108bd61d78d9" }, "output": { "mode": "blocked", "reasons": [ "the pull request could not be read" ] }, "events": [ { "at": "2026-10-22T20:10:48.073Z", "msg": "started by U_FETCHSANDBOX" }, { "at": "2026-10-22T20:10:48.315Z", "msg": "agents: change-check=failed, ops-check=ok" }, { "at": "2026-10-22T20:10:48.318Z", "msg": "planned 1 action(s): 0 need approval" }, { "at": "2026-10-22T20:10:48.453Z", "msg": "slack.post_change:blocked: applied" }, { "at": "2026-10-22T20:10:48.455Z", "msg": "done (partial)" } ], "createdAt": "2026-10-22T20:10:48.073Z", "updatedAt": "2026-10-22T20:10:48.455Z", "duplicate": false } - · GET pagerduty request · provider traffic · /incidents · HTTP 200 · request 23050ca3f017 · processing 1.79ms
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/sandbox/c91902cec7/incidents' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 1.79ms.
Recorded request headers
{ "host": "fetchsandbox.com", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a" }Recorded response headers
Response headers were not saved in this run.
Request body
No body shown for this read.
Recorded response · HTTP 200
{ "ending_before": "sample-value", "filters": { "created_at_end": "2023-06-01T00:00:00-04:00", "created_at_start": "2023-05-01T00:00:00-04:00", "incident_type_ids": [ "PIJ90N7", "PKL73Z2" ], "major": true, "priority_ids": [ "PITMC5Y", "PEHBBT8", "PB8QADI" ], "priority_names": [ "P1", "P2", "P3" ], "service_ids": [ "PC8O0L3", "PX01HJD", "P5FK83M" ], "team_ids": [ "P373JQQ", "PAECHJV", "P7SYGW6" ], "updated_after": "sample-value", "urgency": "high" }, "limit": 20, "order": "asc", "order_by": "created_at", "starting_after": "sample-value", "time_zone": "UTC", "name": "Sample Incident 1", "responder_id": "9686c801-360b-4156-8901-94f5fd939dad" } - · GET github request · provider traffic · /repos/acme/checkout/pulls/4 · HTTP 200 · request ad6ca157c812 · processing 1.87ms
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/sandbox/3de250868c/repos/acme/checkout/pulls/4' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 1.87ms.
Recorded request headers
{ "host": "fetchsandbox.com", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a" }Recorded response headers
Response headers were not saved in this run.
Request body
No body shown for this read.
Recorded response · HTTP 200
{ "id": 25, "number": 4, "title": "Fix checkout rounding", "body": null, "state": "open", "head": "fix-rounding", "base": "main", "draft": true, "merged": false, "mergeable": true, "additions": 84, "deletions": 55, "changed_files": 76, "created_at": "2026-10-22T20:09:25.589171+00:00", "updated_at": "2026-10-22T20:09:25.589196+00:00", "merged_at": null } - · GET github request · provider traffic · /repos/acme/checkout/pulls/4/reviews · HTTP 404 · request f7af6523d9bb · processing 0.18ms
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/sandbox/3de250868c/repos/acme/checkout/pulls/4/reviews' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 0.18ms.
Recorded request headers
{ "host": "fetchsandbox.com", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a" }Recorded response headers
Response headers were not saved in this run.
Request body
No body shown for this read.
Recorded response · HTTP 404
{ "errors": [ { "status": "404", "code": "EGeneral:Unknown method", "detail": "No route matches GET /repos/acme/checkout/pulls/4/reviews" } ] } - · POST slack request · provider traffic · /api/chat.postMessage · HTTP 200 · request c6dc94d844bc · processing 13.97ms
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/sandbox/a097942801/api/chat.postMessage' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \ --header 'content-type: application/json; charset=utf-8' \ --data-raw '{ "channel": "C0PLATFORM1", "text": ":no_entry: CHG-healthy-watch-marks-success (acme/checkout#4) blocked: the pull request could not be read.", "unfurl_links": false, "unfurl_media": false }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 13.97ms.
Recorded request headers
{ "host": "fetchsandbox.com", "content-length": "182", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a", "content-type": "application/json; charset=utf-8" }Recorded response headers
Response headers were not saved in this run.
Request body
{ "channel": "C0PLATFORM1", "text": ":no_entry: CHG-healthy-watch-marks-success (acme/checkout#4) blocked: the pull request could not be read.", "unfurl_links": false, "unfurl_media": false }Recorded response · HTTP 200
{ "channel": "C0PLATFORM1", "message": { "bot_id": "bot_f835f8c6fd824de18695c268b3", "client_msg_id": "cli_a8fff7c0f3ea44eca42e408f5c", "name": "item-229f74", "old_name": "Sample Old", "parent_user_id": "par_0fae8c9714ac4921b54525bf39", "permalink": "my-resource", "reply_count": 0, "reply_users_count": 0, "text": "Sample text content", "ts": "sample-value", "type": "default", "unread_count": 0, "username": "acme-corp" }, "ok": true, "ts": "171AIAPWZ4.U48FM0" } - · POST app request /invocations · healthy watch marks success · HTTP 200
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/invocations' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]' \ --header 'content-type: application/json' \ --data-raw '{ "action": "tick" }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-22T20:10:48.781450+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a", "x-fetchsandbox-relay": "[redacted]", "authorization": "[redacted]", "content-length": "17", "content-type": "application/json" }Recorded response headers
{ "content-type": "application/json", "content-length": "12" }Request body
{ "action": "tick" }Recorded response · HTTP 200
{ "woken": [] } - · GET app request /verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/healthy_watch_marks_success/runs · healthy watch marks success · HTTP 200
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/healthy_watch_marks_success/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-22T20:10:49.071413+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a", "x-fetchsandbox-relay": "[redacted]", "authorization": "[redacted]" }Recorded response headers
{ "content-type": "application/json" }Request body
This request had no body.
Recorded response · HTTP 200
{ "runs": [ { "runId": "healthy-watch-marks-success-vr_55bd8d33c1bb4538a9936780cce0d10a", "workflow": "change-management-gate", "metadata": { "organization": "Acme", "company": "Acme Corporation", "environment": "unconfigured", "owner": "unassigned", "department": "unassigned", "ownerTeam": "unassigned", "oncall": "unassigned", "version": "unversioned", "sourceCommit": "unrecorded" }, "org": "Engineering", "team": "platform-ops", "phase": "DONE", "closed": true, "outcome": "partial", "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a", "fs_case": "healthy_watch_marks_success" }, "duplicateStarts": 0, "agents": [ { "name": "change-check", "status": "failed", "error": "github 404 EGeneral:Unknown method: GET /repos/acme/checkout/pulls/4/reviews → 404 EGeneral:Unknown method", "errorCode": "github:EGeneral:Unknown method", "durationMs": 241 }, { "name": "ops-check", "status": "ok", "summary": "0 high-urgency incident(s), 0 monitor(s) alerting", "durationMs": 123 }, { "name": "gate", "status": "ok", "summary": "blocked: the pull request could not be read", "durationMs": 0 } ], "actions": [ { "id": "slack.post_change:blocked", "kind": "slack.post_change", "provider": "slack", "agent": "gate", "gate": "auto", "status": "applied", "summary": { "channel": "C0PLATFORM1" }, "attempts": 1, "ref": "171AIAPWZ4.U48FM0", "appliedAt": "2026-10-22T20:10:48.452Z", "reconciled": null } ], "counts": { "applied": 1, "failed": 0, "pendingApproval": 0, "skipped": 0, "rejected": 0, "scheduled": 0, "awaitingSignal": 0, "compensated": 0 }, "wakeAt": null, "audit": { "seq": 4, "head": "d388fef340addf8976f71fa3e53ba6b4e70278690c8e83dec7ae108bd61d78d9" }, "output": { "mode": "blocked", "reasons": [ "the pull request could not be read" ] }, "events": [ { "at": "2026-10-22T20:10:48.073Z", "msg": "started by U_FETCHSANDBOX" }, { "at": "2026-10-22T20:10:48.315Z", "msg": "agents: change-check=failed, ops-check=ok" }, { "at": "2026-10-22T20:10:48.318Z", "msg": "planned 1 action(s): 0 need approval" }, { "at": "2026-10-22T20:10:48.453Z", "msg": "slack.post_change:blocked: applied" }, { "at": "2026-10-22T20:10:48.455Z", "msg": "done (partial)" } ], "createdAt": "2026-10-22T20:10:48.073Z", "updatedAt": "2026-10-22T20:10:48.455Z" } ] } - · POST app request /invocations · healthy watch marks success · HTTP 200
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/invocations' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]' \ --header 'content-type: application/json' \ --data-raw '{ "action": "start", "runId": "healthy-watch-marks-success-vr_55bd8d33c1bb4538a9936780cce0d10a", "input": { "changeId": "CHG-healthy-watch-marks-success", "repo": "acme/checkout", "pullRequest": 4, "service": { "name": "checkout", "pagerdutyServiceId": "PSVC123", "monitorIds": [], "errorRateQuery": "sum:checkout.errors{*}.as_rate()" }, "type": "standard", "opsChannel": "C0PLATFORM1", "approvers": [ "U_CAB_1", "U_CAB_2" ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a", "fs_case": "healthy_watch_marks_success" } }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-22T20:10:49.285688+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a", "x-fetchsandbox-relay": "[redacted]", "authorization": "[redacted]", "content-length": "534", "content-type": "application/json" }Recorded response headers
{ "content-type": "application/json" }Request body
{ "action": "start", "runId": "healthy-watch-marks-success-vr_55bd8d33c1bb4538a9936780cce0d10a", "input": { "changeId": "CHG-healthy-watch-marks-success", "repo": "acme/checkout", "pullRequest": 4, "service": { "name": "checkout", "pagerdutyServiceId": "PSVC123", "monitorIds": [], "errorRateQuery": "sum:checkout.errors{*}.as_rate()" }, "type": "standard", "opsChannel": "C0PLATFORM1", "approvers": [ "U_CAB_1", "U_CAB_2" ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a", "fs_case": "healthy_watch_marks_success" } }Recorded response · HTTP 200
{ "runId": "healthy-watch-marks-success-vr_55bd8d33c1bb4538a9936780cce0d10a", "workflow": "change-management-gate", "metadata": { "organization": "Acme", "company": "Acme Corporation", "environment": "unconfigured", "owner": "unassigned", "department": "unassigned", "ownerTeam": "unassigned", "oncall": "unassigned", "version": "unversioned", "sourceCommit": "unrecorded" }, "org": "Engineering", "team": "platform-ops", "phase": "DONE", "closed": true, "outcome": "partial", "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a", "fs_case": "healthy_watch_marks_success" }, "duplicateStarts": 1, "agents": [ { "name": "change-check", "status": "failed", "error": "github 404 EGeneral:Unknown method: GET /repos/acme/checkout/pulls/4/reviews → 404 EGeneral:Unknown method", "errorCode": "github:EGeneral:Unknown method", "durationMs": 241 }, { "name": "ops-check", "status": "ok", "summary": "0 high-urgency incident(s), 0 monitor(s) alerting", "durationMs": 123 }, { "name": "gate", "status": "ok", "summary": "blocked: the pull request could not be read", "durationMs": 0 } ], "actions": [ { "id": "slack.post_change:blocked", "kind": "slack.post_change", "provider": "slack", "agent": "gate", "gate": "auto", "status": "applied", "summary": { "channel": "C0PLATFORM1" }, "attempts": 1, "ref": "171AIAPWZ4.U48FM0", "appliedAt": "2026-10-22T20:10:48.452Z", "reconciled": null } ], "counts": { "applied": 1, "failed": 0, "pendingApproval": 0, "skipped": 0, "rejected": 0, "scheduled": 0, "awaitingSignal": 0, "compensated": 0 }, "wakeAt": null, "audit": { "seq": 5, "head": "cfc5081157d9e6d7e62a4c949bedcb7ba86eb5f1791885f5cde99879bb6d15f5" }, "output": { "mode": "blocked", "reasons": [ "the pull request could not be read" ] }, "events": [ { "at": "2026-10-22T20:10:48.073Z", "msg": "started by U_FETCHSANDBOX" }, { "at": "2026-10-22T20:10:48.315Z", "msg": "agents: change-check=failed, ops-check=ok" }, { "at": "2026-10-22T20:10:48.318Z", "msg": "planned 1 action(s): 0 need approval" }, { "at": "2026-10-22T20:10:48.453Z", "msg": "slack.post_change:blocked: applied" }, { "at": "2026-10-22T20:10:48.455Z", "msg": "done (partial)" }, { "at": "2026-10-22T20:10:49.174Z", "msg": "duplicate start ignored" } ], "createdAt": "2026-10-22T20:10:48.073Z", "updatedAt": "2026-10-22T20:10:49.174Z", "duplicate": true } - · POST app request /invocations · healthy watch marks success · HTTP 200
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/invocations' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]' \ --header 'content-type: application/json' \ --data-raw '{ "action": "tick" }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-22T20:10:49.474792+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a", "x-fetchsandbox-relay": "[redacted]", "authorization": "[redacted]", "content-length": "17", "content-type": "application/json" }Recorded response headers
{ "content-type": "application/json", "content-length": "12" }Request body
{ "action": "tick" }Recorded response · HTTP 200
{ "woken": [] } - · GET app request /verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/healthy_watch_marks_success/runs · healthy watch marks success · HTTP 200
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/healthy_watch_marks_success/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-22T20:10:49.773570+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a", "x-fetchsandbox-relay": "[redacted]", "authorization": "[redacted]" }Recorded response headers
{ "content-type": "application/json" }Request body
This request had no body.
Recorded response · HTTP 200
{ "runs": [ { "runId": "healthy-watch-marks-success-vr_55bd8d33c1bb4538a9936780cce0d10a", "workflow": "change-management-gate", "metadata": { "organization": "Acme", "company": "Acme Corporation", "environment": "unconfigured", "owner": "unassigned", "department": "unassigned", "ownerTeam": "unassigned", "oncall": "unassigned", "version": "unversioned", "sourceCommit": "unrecorded" }, "org": "Engineering", "team": "platform-ops", "phase": "DONE", "closed": true, "outcome": "partial", "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a", "fs_case": "healthy_watch_marks_success" }, "duplicateStarts": 1, "agents": [ { "name": "change-check", "status": "failed", "error": "github 404 EGeneral:Unknown method: GET /repos/acme/checkout/pulls/4/reviews → 404 EGeneral:Unknown method", "errorCode": "github:EGeneral:Unknown method", "durationMs": 241 }, { "name": "ops-check", "status": "ok", "summary": "0 high-urgency incident(s), 0 monitor(s) alerting", "durationMs": 123 }, { "name": "gate", "status": "ok", "summary": "blocked: the pull request could not be read", "durationMs": 0 } ], "actions": [ { "id": "slack.post_change:blocked", "kind": "slack.post_change", "provider": "slack", "agent": "gate", "gate": "auto", "status": "applied", "summary": { "channel": "C0PLATFORM1" }, "attempts": 1, "ref": "171AIAPWZ4.U48FM0", "appliedAt": "2026-10-22T20:10:48.452Z", "reconciled": null } ], "counts": { "applied": 1, "failed": 0, "pendingApproval": 0, "skipped": 0, "rejected": 0, "scheduled": 0, "awaitingSignal": 0, "compensated": 0 }, "wakeAt": null, "audit": { "seq": 5, "head": "cfc5081157d9e6d7e62a4c949bedcb7ba86eb5f1791885f5cde99879bb6d15f5" }, "output": { "mode": "blocked", "reasons": [ "the pull request could not be read" ] }, "events": [ { "at": "2026-10-22T20:10:48.073Z", "msg": "started by U_FETCHSANDBOX" }, { "at": "2026-10-22T20:10:48.315Z", "msg": "agents: change-check=failed, ops-check=ok" }, { "at": "2026-10-22T20:10:48.318Z", "msg": "planned 1 action(s): 0 need approval" }, { "at": "2026-10-22T20:10:48.453Z", "msg": "slack.post_change:blocked: applied" }, { "at": "2026-10-22T20:10:48.455Z", "msg": "done (partial)" }, { "at": "2026-10-22T20:10:49.174Z", "msg": "duplicate start ignored" } ], "createdAt": "2026-10-22T20:10:48.073Z", "updatedAt": "2026-10-22T20:10:49.174Z" } ] } - · GET app request /verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/degraded_watch_rolls_back/runs · degraded watch rolls back · HTTP 200
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/degraded_watch_rolls_back/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-22T20:10:49.982800+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a", "x-fetchsandbox-relay": "[redacted]", "authorization": "[redacted]" }Recorded response headers
{ "content-type": "application/json", "content-length": "11" }Request body
This request had no body.
Recorded response · HTTP 200
{ "runs": [] } - · POST app request /invocations · degraded watch rolls back · HTTP 200
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/invocations' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]' \ --header 'content-type: application/json' \ --data-raw '{ "action": "start", "runId": "degraded-watch-rolls-back-vr_55bd8d33c1bb4538a9936780cce0d10a", "input": { "changeId": "CHG-degraded-watch-rolls-back", "repo": "acme/checkout", "pullRequest": 4, "service": { "name": "checkout", "pagerdutyServiceId": "PSVC123", "monitorIds": [], "errorRateQuery": "sum:checkout.errors{*}.as_rate()" }, "type": "standard", "opsChannel": "C0PLATFORM1", "approvers": [ "U_CAB_1", "U_CAB_2" ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a", "fs_case": "degraded_watch_rolls_back" } }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-22T20:10:50.529550+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a", "x-fetchsandbox-relay": "[redacted]", "authorization": "[redacted]", "content-length": "528", "content-type": "application/json" }Recorded response headers
{ "content-type": "application/json" }Request body
{ "action": "start", "runId": "degraded-watch-rolls-back-vr_55bd8d33c1bb4538a9936780cce0d10a", "input": { "changeId": "CHG-degraded-watch-rolls-back", "repo": "acme/checkout", "pullRequest": 4, "service": { "name": "checkout", "pagerdutyServiceId": "PSVC123", "monitorIds": [], "errorRateQuery": "sum:checkout.errors{*}.as_rate()" }, "type": "standard", "opsChannel": "C0PLATFORM1", "approvers": [ "U_CAB_1", "U_CAB_2" ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a", "fs_case": "degraded_watch_rolls_back" } }Recorded response · HTTP 200
{ "runId": "degraded-watch-rolls-back-vr_55bd8d33c1bb4538a9936780cce0d10a", "workflow": "change-management-gate", "metadata": { "organization": "Acme", "company": "Acme Corporation", "environment": "unconfigured", "owner": "unassigned", "department": "unassigned", "ownerTeam": "unassigned", "oncall": "unassigned", "version": "unversioned", "sourceCommit": "unrecorded" }, "org": "Engineering", "team": "platform-ops", "phase": "DONE", "closed": true, "outcome": "partial", "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a", "fs_case": "degraded_watch_rolls_back" }, "duplicateStarts": 0, "agents": [ { "name": "change-check", "status": "failed", "error": "github 404 EGeneral:Unknown method: GET /repos/acme/checkout/pulls/4/reviews → 404 EGeneral:Unknown method", "errorCode": "github:EGeneral:Unknown method", "durationMs": 232 }, { "name": "ops-check", "status": "ok", "summary": "0 high-urgency incident(s), 0 monitor(s) alerting", "durationMs": 134 }, { "name": "gate", "status": "ok", "summary": "blocked: the pull request could not be read", "durationMs": 0 } ], "actions": [ { "id": "slack.post_change:blocked", "kind": "slack.post_change", "provider": "slack", "agent": "gate", "gate": "auto", "status": "applied", "summary": { "channel": "C0PLATFORM1" }, "attempts": 1, "ref": "17164S4I3T.7PBGOO", "appliedAt": "2026-10-22T20:10:50.424Z", "reconciled": null } ], "counts": { "applied": 1, "failed": 0, "pendingApproval": 0, "skipped": 0, "rejected": 0, "scheduled": 0, "awaitingSignal": 0, "compensated": 0 }, "wakeAt": null, "audit": { "seq": 4, "head": "3daf6018120416bf9bea0970375df766ac0157bda06704e3094b41ca95537e5d" }, "output": { "mode": "blocked", "reasons": [ "the pull request could not be read" ] }, "events": [ { "at": "2026-10-22T20:10:50.065Z", "msg": "started by U_FETCHSANDBOX" }, { "at": "2026-10-22T20:10:50.299Z", "msg": "agents: change-check=failed, ops-check=ok" }, { "at": "2026-10-22T20:10:50.303Z", "msg": "planned 1 action(s): 0 need approval" }, { "at": "2026-10-22T20:10:50.424Z", "msg": "slack.post_change:blocked: applied" }, { "at": "2026-10-22T20:10:50.426Z", "msg": "done (partial)" } ], "createdAt": "2026-10-22T20:10:50.065Z", "updatedAt": "2026-10-22T20:10:50.426Z", "duplicate": false } - · GET github request · provider traffic · /repos/acme/checkout/pulls/4 · HTTP 200 · request f75f3ae8d029 · processing 2.11ms
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/sandbox/3de250868c/repos/acme/checkout/pulls/4' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 2.11ms.
Recorded request headers
{ "host": "fetchsandbox.com", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a" }Recorded response headers
Response headers were not saved in this run.
Request body
No body shown for this read.
Recorded response · HTTP 200
{ "id": 25, "number": 4, "title": "Fix checkout rounding", "body": null, "state": "open", "head": "fix-rounding", "base": "main", "draft": true, "merged": false, "mergeable": true, "additions": 84, "deletions": 55, "changed_files": 76, "created_at": "2026-10-22T20:09:25.589171+00:00", "updated_at": "2026-10-22T20:09:25.589196+00:00", "merged_at": null } - · GET pagerduty request · provider traffic · /incidents · HTTP 200 · request d067b8430d41 · processing 1.79ms
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/sandbox/c91902cec7/incidents' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 1.79ms.
Recorded request headers
{ "host": "fetchsandbox.com", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a" }Recorded response headers
Response headers were not saved in this run.
Request body
No body shown for this read.
Recorded response · HTTP 200
{ "ending_before": "sample-value", "filters": { "created_at_end": "2023-06-01T00:00:00-04:00", "created_at_start": "2023-05-01T00:00:00-04:00", "incident_type_ids": [ "PIJ90N7", "PKL73Z2" ], "major": true, "priority_ids": [ "PITMC5Y", "PEHBBT8", "PB8QADI" ], "priority_names": [ "P1", "P2", "P3" ], "service_ids": [ "PC8O0L3", "PX01HJD", "P5FK83M" ], "team_ids": [ "P373JQQ", "PAECHJV", "P7SYGW6" ], "updated_after": "sample-value", "urgency": "high" }, "limit": 20, "order": "asc", "order_by": "created_at", "starting_after": "sample-value", "time_zone": "UTC", "name": "Sample Incident 1", "responder_id": "9686c801-360b-4156-8901-94f5fd939dad" } - · GET github request · provider traffic · /repos/acme/checkout/pulls/4/reviews · HTTP 404 · request 12449dcfd07a · processing 0.15ms
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/sandbox/3de250868c/repos/acme/checkout/pulls/4/reviews' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 0.15ms.
Recorded request headers
{ "host": "fetchsandbox.com", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a" }Recorded response headers
Response headers were not saved in this run.
Request body
No body shown for this read.
Recorded response · HTTP 404
{ "errors": [ { "status": "404", "code": "EGeneral:Unknown method", "detail": "No route matches GET /repos/acme/checkout/pulls/4/reviews" } ] } - · POST slack request · provider traffic · /api/chat.postMessage · HTTP 200 · request c29e1d511e83 · processing 13.81ms
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/sandbox/a097942801/api/chat.postMessage' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \ --header 'content-type: application/json; charset=utf-8' \ --data-raw '{ "channel": "C0PLATFORM1", "text": ":no_entry: CHG-degraded-watch-rolls-back (acme/checkout#4) blocked: the pull request could not be read.", "unfurl_links": false, "unfurl_media": false }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 13.81ms.
Recorded request headers
{ "host": "fetchsandbox.com", "content-length": "180", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a", "content-type": "application/json; charset=utf-8" }Recorded response headers
Response headers were not saved in this run.
Request body
{ "channel": "C0PLATFORM1", "text": ":no_entry: CHG-degraded-watch-rolls-back (acme/checkout#4) blocked: the pull request could not be read.", "unfurl_links": false, "unfurl_media": false }Recorded response · HTTP 200
{ "channel": "C0PLATFORM1", "message": { "bot_id": "bot_53b9992ce2f048a596ac7bfbcd", "client_msg_id": "cli_efe8a82a7a3442369838eda032", "name": "item-2d6ddc", "old_name": "Sample Old", "parent_user_id": "par_194626307e9c4d1799c3a06371", "permalink": "my-resource", "reply_count": 0, "reply_users_count": 0, "text": "Sample text content", "ts": "sample-value", "type": "default", "unread_count": 0, "username": "acme-corp" }, "ok": true, "ts": "17164S4I3T.7PBGOO" } - · POST app request /invocations · degraded watch rolls back · HTTP 200
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/invocations' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]' \ --header 'content-type: application/json' \ --data-raw '{ "action": "tick" }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-22T20:10:50.716938+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a", "x-fetchsandbox-relay": "[redacted]", "authorization": "[redacted]", "content-length": "17", "content-type": "application/json" }Recorded response headers
{ "content-type": "application/json", "content-length": "12" }Request body
{ "action": "tick" }Recorded response · HTTP 200
{ "woken": [] } - · GET app request /verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/degraded_watch_rolls_back/runs · degraded watch rolls back · HTTP 200
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/degraded_watch_rolls_back/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-22T20:10:51.017024+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a", "x-fetchsandbox-relay": "[redacted]", "authorization": "[redacted]" }Recorded response headers
{ "content-type": "application/json" }Request body
This request had no body.
Recorded response · HTTP 200
{ "runs": [ { "runId": "degraded-watch-rolls-back-vr_55bd8d33c1bb4538a9936780cce0d10a", "workflow": "change-management-gate", "metadata": { "organization": "Acme", "company": "Acme Corporation", "environment": "unconfigured", "owner": "unassigned", "department": "unassigned", "ownerTeam": "unassigned", "oncall": "unassigned", "version": "unversioned", "sourceCommit": "unrecorded" }, "org": "Engineering", "team": "platform-ops", "phase": "DONE", "closed": true, "outcome": "partial", "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a", "fs_case": "degraded_watch_rolls_back" }, "duplicateStarts": 0, "agents": [ { "name": "change-check", "status": "failed", "error": "github 404 EGeneral:Unknown method: GET /repos/acme/checkout/pulls/4/reviews → 404 EGeneral:Unknown method", "errorCode": "github:EGeneral:Unknown method", "durationMs": 232 }, { "name": "ops-check", "status": "ok", "summary": "0 high-urgency incident(s), 0 monitor(s) alerting", "durationMs": 134 }, { "name": "gate", "status": "ok", "summary": "blocked: the pull request could not be read", "durationMs": 0 } ], "actions": [ { "id": "slack.post_change:blocked", "kind": "slack.post_change", "provider": "slack", "agent": "gate", "gate": "auto", "status": "applied", "summary": { "channel": "C0PLATFORM1" }, "attempts": 1, "ref": "17164S4I3T.7PBGOO", "appliedAt": "2026-10-22T20:10:50.424Z", "reconciled": null } ], "counts": { "applied": 1, "failed": 0, "pendingApproval": 0, "skipped": 0, "rejected": 0, "scheduled": 0, "awaitingSignal": 0, "compensated": 0 }, "wakeAt": null, "audit": { "seq": 4, "head": "3daf6018120416bf9bea0970375df766ac0157bda06704e3094b41ca95537e5d" }, "output": { "mode": "blocked", "reasons": [ "the pull request could not be read" ] }, "events": [ { "at": "2026-10-22T20:10:50.065Z", "msg": "started by U_FETCHSANDBOX" }, { "at": "2026-10-22T20:10:50.299Z", "msg": "agents: change-check=failed, ops-check=ok" }, { "at": "2026-10-22T20:10:50.303Z", "msg": "planned 1 action(s): 0 need approval" }, { "at": "2026-10-22T20:10:50.424Z", "msg": "slack.post_change:blocked: applied" }, { "at": "2026-10-22T20:10:50.426Z", "msg": "done (partial)" } ], "createdAt": "2026-10-22T20:10:50.065Z", "updatedAt": "2026-10-22T20:10:50.426Z" } ] } - · POST app request /invocations · degraded watch rolls back · HTTP 200
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/invocations' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]' \ --header 'content-type: application/json' \ --data-raw '{ "action": "start", "runId": "degraded-watch-rolls-back-vr_55bd8d33c1bb4538a9936780cce0d10a", "input": { "changeId": "CHG-degraded-watch-rolls-back", "repo": "acme/checkout", "pullRequest": 4, "service": { "name": "checkout", "pagerdutyServiceId": "PSVC123", "monitorIds": [], "errorRateQuery": "sum:checkout.errors{*}.as_rate()" }, "type": "standard", "opsChannel": "C0PLATFORM1", "approvers": [ "U_CAB_1", "U_CAB_2" ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a", "fs_case": "degraded_watch_rolls_back" } }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-22T20:10:51.214571+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a", "x-fetchsandbox-relay": "[redacted]", "authorization": "[redacted]", "content-length": "528", "content-type": "application/json" }Recorded response headers
{ "content-type": "application/json" }Request body
{ "action": "start", "runId": "degraded-watch-rolls-back-vr_55bd8d33c1bb4538a9936780cce0d10a", "input": { "changeId": "CHG-degraded-watch-rolls-back", "repo": "acme/checkout", "pullRequest": 4, "service": { "name": "checkout", "pagerdutyServiceId": "PSVC123", "monitorIds": [], "errorRateQuery": "sum:checkout.errors{*}.as_rate()" }, "type": "standard", "opsChannel": "C0PLATFORM1", "approvers": [ "U_CAB_1", "U_CAB_2" ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a", "fs_case": "degraded_watch_rolls_back" } }Recorded response · HTTP 200
{ "runId": "degraded-watch-rolls-back-vr_55bd8d33c1bb4538a9936780cce0d10a", "workflow": "change-management-gate", "metadata": { "organization": "Acme", "company": "Acme Corporation", "environment": "unconfigured", "owner": "unassigned", "department": "unassigned", "ownerTeam": "unassigned", "oncall": "unassigned", "version": "unversioned", "sourceCommit": "unrecorded" }, "org": "Engineering", "team": "platform-ops", "phase": "DONE", "closed": true, "outcome": "partial", "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a", "fs_case": "degraded_watch_rolls_back" }, "duplicateStarts": 1, "agents": [ { "name": "change-check", "status": "failed", "error": "github 404 EGeneral:Unknown method: GET /repos/acme/checkout/pulls/4/reviews → 404 EGeneral:Unknown method", "errorCode": "github:EGeneral:Unknown method", "durationMs": 232 }, { "name": "ops-check", "status": "ok", "summary": "0 high-urgency incident(s), 0 monitor(s) alerting", "durationMs": 134 }, { "name": "gate", "status": "ok", "summary": "blocked: the pull request could not be read", "durationMs": 0 } ], "actions": [ { "id": "slack.post_change:blocked", "kind": "slack.post_change", "provider": "slack", "agent": "gate", "gate": "auto", "status": "applied", "summary": { "channel": "C0PLATFORM1" }, "attempts": 1, "ref": "17164S4I3T.7PBGOO", "appliedAt": "2026-10-22T20:10:50.424Z", "reconciled": null } ], "counts": { "applied": 1, "failed": 0, "pendingApproval": 0, "skipped": 0, "rejected": 0, "scheduled": 0, "awaitingSignal": 0, "compensated": 0 }, "wakeAt": null, "audit": { "seq": 5, "head": "4017ddb1dc2be56309cf62124c3aab824448874307198b155e2f8bad4698d016" }, "output": { "mode": "blocked", "reasons": [ "the pull request could not be read" ] }, "events": [ { "at": "2026-10-22T20:10:50.065Z", "msg": "started by U_FETCHSANDBOX" }, { "at": "2026-10-22T20:10:50.299Z", "msg": "agents: change-check=failed, ops-check=ok" }, { "at": "2026-10-22T20:10:50.303Z", "msg": "planned 1 action(s): 0 need approval" }, { "at": "2026-10-22T20:10:50.424Z", "msg": "slack.post_change:blocked: applied" }, { "at": "2026-10-22T20:10:50.426Z", "msg": "done (partial)" }, { "at": "2026-10-22T20:10:51.106Z", "msg": "duplicate start ignored" } ], "createdAt": "2026-10-22T20:10:50.065Z", "updatedAt": "2026-10-22T20:10:51.106Z", "duplicate": true } - · POST app request /invocations · degraded watch rolls back · HTTP 200
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/invocations' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]' \ --header 'content-type: application/json' \ --data-raw '{ "action": "tick" }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-22T20:10:51.436870+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a", "x-fetchsandbox-relay": "[redacted]", "authorization": "[redacted]", "content-length": "17", "content-type": "application/json" }Recorded response headers
{ "content-type": "application/json", "content-length": "12" }Request body
{ "action": "tick" }Recorded response · HTTP 200
{ "woken": [] } - · GET app request /verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/degraded_watch_rolls_back/runs · degraded watch rolls back · HTTP 200
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/degraded_watch_rolls_back/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-22T20:10:51.726133+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a", "x-fetchsandbox-relay": "[redacted]", "authorization": "[redacted]" }Recorded response headers
{ "content-type": "application/json" }Request body
This request had no body.
Recorded response · HTTP 200
{ "runs": [ { "runId": "degraded-watch-rolls-back-vr_55bd8d33c1bb4538a9936780cce0d10a", "workflow": "change-management-gate", "metadata": { "organization": "Acme", "company": "Acme Corporation", "environment": "unconfigured", "owner": "unassigned", "department": "unassigned", "ownerTeam": "unassigned", "oncall": "unassigned", "version": "unversioned", "sourceCommit": "unrecorded" }, "org": "Engineering", "team": "platform-ops", "phase": "DONE", "closed": true, "outcome": "partial", "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a", "fs_case": "degraded_watch_rolls_back" }, "duplicateStarts": 1, "agents": [ { "name": "change-check", "status": "failed", "error": "github 404 EGeneral:Unknown method: GET /repos/acme/checkout/pulls/4/reviews → 404 EGeneral:Unknown method", "errorCode": "github:EGeneral:Unknown method", "durationMs": 232 }, { "name": "ops-check", "status": "ok", "summary": "0 high-urgency incident(s), 0 monitor(s) alerting", "durationMs": 134 }, { "name": "gate", "status": "ok", "summary": "blocked: the pull request could not be read", "durationMs": 0 } ], "actions": [ { "id": "slack.post_change:blocked", "kind": "slack.post_change", "provider": "slack", "agent": "gate", "gate": "auto", "status": "applied", "summary": { "channel": "C0PLATFORM1" }, "attempts": 1, "ref": "17164S4I3T.7PBGOO", "appliedAt": "2026-10-22T20:10:50.424Z", "reconciled": null } ], "counts": { "applied": 1, "failed": 0, "pendingApproval": 0, "skipped": 0, "rejected": 0, "scheduled": 0, "awaitingSignal": 0, "compensated": 0 }, "wakeAt": null, "audit": { "seq": 5, "head": "4017ddb1dc2be56309cf62124c3aab824448874307198b155e2f8bad4698d016" }, "output": { "mode": "blocked", "reasons": [ "the pull request could not be read" ] }, "events": [ { "at": "2026-10-22T20:10:50.065Z", "msg": "started by U_FETCHSANDBOX" }, { "at": "2026-10-22T20:10:50.299Z", "msg": "agents: change-check=failed, ops-check=ok" }, { "at": "2026-10-22T20:10:50.303Z", "msg": "planned 1 action(s): 0 need approval" }, { "at": "2026-10-22T20:10:50.424Z", "msg": "slack.post_change:blocked: applied" }, { "at": "2026-10-22T20:10:50.426Z", "msg": "done (partial)" }, { "at": "2026-10-22T20:10:51.106Z", "msg": "duplicate start ignored" } ], "createdAt": "2026-10-22T20:10:50.065Z", "updatedAt": "2026-10-22T20:10:51.106Z" } ] } - · GET app request /verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/freeze_blocks/runs · freeze blocks · HTTP 200
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/freeze_blocks/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-22T20:10:51.910334+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a", "x-fetchsandbox-relay": "[redacted]", "authorization": "[redacted]" }Recorded response headers
{ "content-type": "application/json", "content-length": "11" }Request body
This request had no body.
Recorded response · HTTP 200
{ "runs": [] } - · POST app request /invocations · freeze blocks · HTTP 200
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/invocations' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]' \ --header 'content-type: application/json' \ --data-raw '{ "action": "start", "runId": "freeze-blocks-vr_55bd8d33c1bb4538a9936780cce0d10a", "input": { "changeId": "CHG-freeze-blocks", "repo": "acme/checkout", "pullRequest": 4, "service": { "name": "checkout", "pagerdutyServiceId": "PSVC123", "monitorIds": [], "errorRateQuery": "sum:checkout.errors{*}.as_rate()" }, "type": "standard", "opsChannel": "C0PLATFORM1", "approvers": [ "U_CAB_1", "U_CAB_2" ], "freezes": [ { "from": "2020-01-01T00:00:00.000Z", "to": "2099-01-01T00:00:00.000Z", "reason": "test freeze" } ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a", "fs_case": "freeze_blocks" } }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-22T20:10:52.542271+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a", "x-fetchsandbox-relay": "[redacted]", "authorization": "[redacted]", "content-length": "595", "content-type": "application/json" }Recorded response headers
{ "content-type": "application/json" }Request body
{ "action": "start", "runId": "freeze-blocks-vr_55bd8d33c1bb4538a9936780cce0d10a", "input": { "changeId": "CHG-freeze-blocks", "repo": "acme/checkout", "pullRequest": 4, "service": { "name": "checkout", "pagerdutyServiceId": "PSVC123", "monitorIds": [], "errorRateQuery": "sum:checkout.errors{*}.as_rate()" }, "type": "standard", "opsChannel": "C0PLATFORM1", "approvers": [ "U_CAB_1", "U_CAB_2" ], "freezes": [ { "from": "2020-01-01T00:00:00.000Z", "to": "2099-01-01T00:00:00.000Z", "reason": "test freeze" } ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a", "fs_case": "freeze_blocks" } }Recorded response · HTTP 200
{ "runId": "freeze-blocks-vr_55bd8d33c1bb4538a9936780cce0d10a", "workflow": "change-management-gate", "metadata": { "organization": "Acme", "company": "Acme Corporation", "environment": "unconfigured", "owner": "unassigned", "department": "unassigned", "ownerTeam": "unassigned", "oncall": "unassigned", "version": "unversioned", "sourceCommit": "unrecorded" }, "org": "Engineering", "team": "platform-ops", "phase": "DONE", "closed": true, "outcome": "partial", "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a", "fs_case": "freeze_blocks" }, "duplicateStarts": 0, "agents": [ { "name": "change-check", "status": "failed", "error": "github 404 EGeneral:Unknown method: GET /repos/acme/checkout/pulls/4/reviews → 404 EGeneral:Unknown method", "errorCode": "github:EGeneral:Unknown method", "durationMs": 245 }, { "name": "ops-check", "status": "ok", "summary": "0 high-urgency incident(s), 0 monitor(s) alerting", "durationMs": 157 }, { "name": "gate", "status": "ok", "summary": "blocked: the pull request could not be read", "durationMs": 0 } ], "actions": [ { "id": "slack.post_change:blocked", "kind": "slack.post_change", "provider": "slack", "agent": "gate", "gate": "auto", "status": "applied", "summary": { "channel": "C0PLATFORM1" }, "attempts": 1, "ref": "17LL6L815U.Z5VXAH", "appliedAt": "2026-10-22T20:10:52.439Z", "reconciled": null } ], "counts": { "applied": 1, "failed": 0, "pendingApproval": 0, "skipped": 0, "rejected": 0, "scheduled": 0, "awaitingSignal": 0, "compensated": 0 }, "wakeAt": null, "audit": { "seq": 4, "head": "d774f0159d46079c5c62f13f24229aac901c92033e104b840b947bbac7530bc5" }, "output": { "mode": "blocked", "reasons": [ "the pull request could not be read" ] }, "events": [ { "at": "2026-10-22T20:10:52.010Z", "msg": "started by U_FETCHSANDBOX" }, { "at": "2026-10-22T20:10:52.257Z", "msg": "agents: change-check=failed, ops-check=ok" }, { "at": "2026-10-22T20:10:52.259Z", "msg": "planned 1 action(s): 0 need approval" }, { "at": "2026-10-22T20:10:52.439Z", "msg": "slack.post_change:blocked: applied" }, { "at": "2026-10-22T20:10:52.441Z", "msg": "done (partial)" } ], "createdAt": "2026-10-22T20:10:52.010Z", "updatedAt": "2026-10-22T20:10:52.441Z", "duplicate": false } - · GET github request · provider traffic · /repos/acme/checkout/pulls/4 · HTTP 200 · request 095f3894da3e · processing 1.9ms
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/sandbox/3de250868c/repos/acme/checkout/pulls/4' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 1.9ms.
Recorded request headers
{ "host": "fetchsandbox.com", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a" }Recorded response headers
Response headers were not saved in this run.
Request body
No body shown for this read.
Recorded response · HTTP 200
{ "id": 25, "number": 4, "title": "Fix checkout rounding", "body": null, "state": "open", "head": "fix-rounding", "base": "main", "draft": true, "merged": false, "mergeable": true, "additions": 84, "deletions": 55, "changed_files": 76, "created_at": "2026-10-22T20:09:25.589171+00:00", "updated_at": "2026-10-22T20:09:25.589196+00:00", "merged_at": null } - · GET pagerduty request · provider traffic · /incidents · HTTP 200 · request 7fa61ba25409 · processing 1.81ms
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/sandbox/c91902cec7/incidents' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 1.81ms.
Recorded request headers
{ "host": "fetchsandbox.com", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a" }Recorded response headers
Response headers were not saved in this run.
Request body
No body shown for this read.
Recorded response · HTTP 200
{ "ending_before": "sample-value", "filters": { "created_at_end": "2023-06-01T00:00:00-04:00", "created_at_start": "2023-05-01T00:00:00-04:00", "incident_type_ids": [ "PIJ90N7", "PKL73Z2" ], "major": true, "priority_ids": [ "PITMC5Y", "PEHBBT8", "PB8QADI" ], "priority_names": [ "P1", "P2", "P3" ], "service_ids": [ "PC8O0L3", "PX01HJD", "P5FK83M" ], "team_ids": [ "P373JQQ", "PAECHJV", "P7SYGW6" ], "updated_after": "sample-value", "urgency": "high" }, "limit": 20, "order": "asc", "order_by": "created_at", "starting_after": "sample-value", "time_zone": "UTC", "name": "Sample Incident 1", "responder_id": "9686c801-360b-4156-8901-94f5fd939dad" } - · GET github request · provider traffic · /repos/acme/checkout/pulls/4/reviews · HTTP 404 · request 2c002feccbf7 · processing 0.16ms
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/sandbox/3de250868c/repos/acme/checkout/pulls/4/reviews' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 0.16ms.
Recorded request headers
{ "host": "fetchsandbox.com", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a" }Recorded response headers
Response headers were not saved in this run.
Request body
No body shown for this read.
Recorded response · HTTP 404
{ "errors": [ { "status": "404", "code": "EGeneral:Unknown method", "detail": "No route matches GET /repos/acme/checkout/pulls/4/reviews" } ] } - · POST slack request · provider traffic · /api/chat.postMessage · HTTP 200 · request c87da6477508 · processing 13.93ms
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/sandbox/a097942801/api/chat.postMessage' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \ --header 'content-type: application/json; charset=utf-8' \ --data-raw '{ "channel": "C0PLATFORM1", "text": ":no_entry: CHG-freeze-blocks (acme/checkout#4) blocked: the pull request could not be read.", "unfurl_links": false, "unfurl_media": false }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 13.93ms.
Recorded request headers
{ "host": "fetchsandbox.com", "content-length": "168", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a", "content-type": "application/json; charset=utf-8" }Recorded response headers
Response headers were not saved in this run.
Request body
{ "channel": "C0PLATFORM1", "text": ":no_entry: CHG-freeze-blocks (acme/checkout#4) blocked: the pull request could not be read.", "unfurl_links": false, "unfurl_media": false }Recorded response · HTTP 200
{ "channel": "C0PLATFORM1", "message": { "bot_id": "bot_0aec8aaa3e784f839aa99423df", "client_msg_id": "cli_aa5c7ca4c86b44fe83901faf72", "name": "item-6be9c2", "old_name": "Sample Old", "parent_user_id": "par_7eec4b8975ee4acdbd804a2139", "permalink": "my-resource", "reply_count": 0, "reply_users_count": 0, "text": "Sample text content", "ts": "sample-value", "type": "default", "unread_count": 0, "username": "acme-corp" }, "ok": true, "ts": "17LL6L815U.Z5VXAH" } - · GET app request /verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/freeze_blocks/runs · freeze blocks · HTTP 200
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/freeze_blocks/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-22T20:10:52.835013+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a", "x-fetchsandbox-relay": "[redacted]", "authorization": "[redacted]" }Recorded response headers
{ "content-type": "application/json" }Request body
This request had no body.
Recorded response · HTTP 200
{ "runs": [ { "runId": "freeze-blocks-vr_55bd8d33c1bb4538a9936780cce0d10a", "workflow": "change-management-gate", "metadata": { "organization": "Acme", "company": "Acme Corporation", "environment": "unconfigured", "owner": "unassigned", "department": "unassigned", "ownerTeam": "unassigned", "oncall": "unassigned", "version": "unversioned", "sourceCommit": "unrecorded" }, "org": "Engineering", "team": "platform-ops", "phase": "DONE", "closed": true, "outcome": "partial", "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a", "fs_case": "freeze_blocks" }, "duplicateStarts": 0, "agents": [ { "name": "change-check", "status": "failed", "error": "github 404 EGeneral:Unknown method: GET /repos/acme/checkout/pulls/4/reviews → 404 EGeneral:Unknown method", "errorCode": "github:EGeneral:Unknown method", "durationMs": 245 }, { "name": "ops-check", "status": "ok", "summary": "0 high-urgency incident(s), 0 monitor(s) alerting", "durationMs": 157 }, { "name": "gate", "status": "ok", "summary": "blocked: the pull request could not be read", "durationMs": 0 } ], "actions": [ { "id": "slack.post_change:blocked", "kind": "slack.post_change", "provider": "slack", "agent": "gate", "gate": "auto", "status": "applied", "summary": { "channel": "C0PLATFORM1" }, "attempts": 1, "ref": "17LL6L815U.Z5VXAH", "appliedAt": "2026-10-22T20:10:52.439Z", "reconciled": null } ], "counts": { "applied": 1, "failed": 0, "pendingApproval": 0, "skipped": 0, "rejected": 0, "scheduled": 0, "awaitingSignal": 0, "compensated": 0 }, "wakeAt": null, "audit": { "seq": 4, "head": "d774f0159d46079c5c62f13f24229aac901c92033e104b840b947bbac7530bc5" }, "output": { "mode": "blocked", "reasons": [ "the pull request could not be read" ] }, "events": [ { "at": "2026-10-22T20:10:52.010Z", "msg": "started by U_FETCHSANDBOX" }, { "at": "2026-10-22T20:10:52.257Z", "msg": "agents: change-check=failed, ops-check=ok" }, { "at": "2026-10-22T20:10:52.259Z", "msg": "planned 1 action(s): 0 need approval" }, { "at": "2026-10-22T20:10:52.439Z", "msg": "slack.post_change:blocked: applied" }, { "at": "2026-10-22T20:10:52.441Z", "msg": "done (partial)" } ], "createdAt": "2026-10-22T20:10:52.010Z", "updatedAt": "2026-10-22T20:10:52.441Z" } ] } - · POST app request /invocations · freeze blocks · HTTP 200
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/invocations' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]' \ --header 'content-type: application/json' \ --data-raw '{ "action": "start", "runId": "freeze-blocks-vr_55bd8d33c1bb4538a9936780cce0d10a", "input": { "changeId": "CHG-freeze-blocks", "repo": "acme/checkout", "pullRequest": 4, "service": { "name": "checkout", "pagerdutyServiceId": "PSVC123", "monitorIds": [], "errorRateQuery": "sum:checkout.errors{*}.as_rate()" }, "type": "standard", "opsChannel": "C0PLATFORM1", "approvers": [ "U_CAB_1", "U_CAB_2" ], "freezes": [ { "from": "2020-01-01T00:00:00.000Z", "to": "2099-01-01T00:00:00.000Z", "reason": "test freeze" } ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a", "fs_case": "freeze_blocks" } }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-22T20:10:53.032823+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a", "x-fetchsandbox-relay": "[redacted]", "authorization": "[redacted]", "content-length": "595", "content-type": "application/json" }Recorded response headers
{ "content-type": "application/json" }Request body
{ "action": "start", "runId": "freeze-blocks-vr_55bd8d33c1bb4538a9936780cce0d10a", "input": { "changeId": "CHG-freeze-blocks", "repo": "acme/checkout", "pullRequest": 4, "service": { "name": "checkout", "pagerdutyServiceId": "PSVC123", "monitorIds": [], "errorRateQuery": "sum:checkout.errors{*}.as_rate()" }, "type": "standard", "opsChannel": "C0PLATFORM1", "approvers": [ "U_CAB_1", "U_CAB_2" ], "freezes": [ { "from": "2020-01-01T00:00:00.000Z", "to": "2099-01-01T00:00:00.000Z", "reason": "test freeze" } ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a", "fs_case": "freeze_blocks" } }Recorded response · HTTP 200
{ "runId": "freeze-blocks-vr_55bd8d33c1bb4538a9936780cce0d10a", "workflow": "change-management-gate", "metadata": { "organization": "Acme", "company": "Acme Corporation", "environment": "unconfigured", "owner": "unassigned", "department": "unassigned", "ownerTeam": "unassigned", "oncall": "unassigned", "version": "unversioned", "sourceCommit": "unrecorded" }, "org": "Engineering", "team": "platform-ops", "phase": "DONE", "closed": true, "outcome": "partial", "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a", "fs_case": "freeze_blocks" }, "duplicateStarts": 1, "agents": [ { "name": "change-check", "status": "failed", "error": "github 404 EGeneral:Unknown method: GET /repos/acme/checkout/pulls/4/reviews → 404 EGeneral:Unknown method", "errorCode": "github:EGeneral:Unknown method", "durationMs": 245 }, { "name": "ops-check", "status": "ok", "summary": "0 high-urgency incident(s), 0 monitor(s) alerting", "durationMs": 157 }, { "name": "gate", "status": "ok", "summary": "blocked: the pull request could not be read", "durationMs": 0 } ], "actions": [ { "id": "slack.post_change:blocked", "kind": "slack.post_change", "provider": "slack", "agent": "gate", "gate": "auto", "status": "applied", "summary": { "channel": "C0PLATFORM1" }, "attempts": 1, "ref": "17LL6L815U.Z5VXAH", "appliedAt": "2026-10-22T20:10:52.439Z", "reconciled": null } ], "counts": { "applied": 1, "failed": 0, "pendingApproval": 0, "skipped": 0, "rejected": 0, "scheduled": 0, "awaitingSignal": 0, "compensated": 0 }, "wakeAt": null, "audit": { "seq": 5, "head": "54e2717c99796d959a219d9183b1e3e586f8f5201fbd43b5d9c92575a1e08c22" }, "output": { "mode": "blocked", "reasons": [ "the pull request could not be read" ] }, "events": [ { "at": "2026-10-22T20:10:52.010Z", "msg": "started by U_FETCHSANDBOX" }, { "at": "2026-10-22T20:10:52.257Z", "msg": "agents: change-check=failed, ops-check=ok" }, { "at": "2026-10-22T20:10:52.259Z", "msg": "planned 1 action(s): 0 need approval" }, { "at": "2026-10-22T20:10:52.439Z", "msg": "slack.post_change:blocked: applied" }, { "at": "2026-10-22T20:10:52.441Z", "msg": "done (partial)" }, { "at": "2026-10-22T20:10:52.929Z", "msg": "duplicate start ignored" } ], "createdAt": "2026-10-22T20:10:52.010Z", "updatedAt": "2026-10-22T20:10:52.929Z", "duplicate": true } - · GET app request /verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/freeze_blocks/runs · freeze blocks · HTTP 200
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/freeze_blocks/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-22T20:10:53.333700+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a", "x-fetchsandbox-relay": "[redacted]", "authorization": "[redacted]" }Recorded response headers
{ "content-type": "application/json" }Request body
This request had no body.
Recorded response · HTTP 200
{ "runs": [ { "runId": "freeze-blocks-vr_55bd8d33c1bb4538a9936780cce0d10a", "workflow": "change-management-gate", "metadata": { "organization": "Acme", "company": "Acme Corporation", "environment": "unconfigured", "owner": "unassigned", "department": "unassigned", "ownerTeam": "unassigned", "oncall": "unassigned", "version": "unversioned", "sourceCommit": "unrecorded" }, "org": "Engineering", "team": "platform-ops", "phase": "DONE", "closed": true, "outcome": "partial", "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a", "fs_case": "freeze_blocks" }, "duplicateStarts": 1, "agents": [ { "name": "change-check", "status": "failed", "error": "github 404 EGeneral:Unknown method: GET /repos/acme/checkout/pulls/4/reviews → 404 EGeneral:Unknown method", "errorCode": "github:EGeneral:Unknown method", "durationMs": 245 }, { "name": "ops-check", "status": "ok", "summary": "0 high-urgency incident(s), 0 monitor(s) alerting", "durationMs": 157 }, { "name": "gate", "status": "ok", "summary": "blocked: the pull request could not be read", "durationMs": 0 } ], "actions": [ { "id": "slack.post_change:blocked", "kind": "slack.post_change", "provider": "slack", "agent": "gate", "gate": "auto", "status": "applied", "summary": { "channel": "C0PLATFORM1" }, "attempts": 1, "ref": "17LL6L815U.Z5VXAH", "appliedAt": "2026-10-22T20:10:52.439Z", "reconciled": null } ], "counts": { "applied": 1, "failed": 0, "pendingApproval": 0, "skipped": 0, "rejected": 0, "scheduled": 0, "awaitingSignal": 0, "compensated": 0 }, "wakeAt": null, "audit": { "seq": 5, "head": "54e2717c99796d959a219d9183b1e3e586f8f5201fbd43b5d9c92575a1e08c22" }, "output": { "mode": "blocked", "reasons": [ "the pull request could not be read" ] }, "events": [ { "at": "2026-10-22T20:10:52.010Z", "msg": "started by U_FETCHSANDBOX" }, { "at": "2026-10-22T20:10:52.257Z", "msg": "agents: change-check=failed, ops-check=ok" }, { "at": "2026-10-22T20:10:52.259Z", "msg": "planned 1 action(s): 0 need approval" }, { "at": "2026-10-22T20:10:52.439Z", "msg": "slack.post_change:blocked: applied" }, { "at": "2026-10-22T20:10:52.441Z", "msg": "done (partial)" }, { "at": "2026-10-22T20:10:52.929Z", "msg": "duplicate start ignored" } ], "createdAt": "2026-10-22T20:10:52.010Z", "updatedAt": "2026-10-22T20:10:52.929Z" } ] } - · GET app request /verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/github_unreadable_blocks/runs · github unreadable blocks · HTTP 200
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/github_unreadable_blocks/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-22T20:10:53.515076+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a", "x-fetchsandbox-relay": "[redacted]", "authorization": "[redacted]" }Recorded response headers
{ "content-type": "application/json", "content-length": "11" }Request body
This request had no body.
Recorded response · HTTP 200
{ "runs": [] } - · POST app request /invocations · github unreadable blocks · HTTP 200
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/invocations' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]' \ --header 'content-type: application/json' \ --data-raw '{ "action": "start", "runId": "github-unreadable-blocks-vr_55bd8d33c1bb4538a9936780cce0d10a", "input": { "changeId": "CHG-github-unreadable-blocks", "repo": "acme/checkout", "pullRequest": 4, "service": { "name": "checkout", "pagerdutyServiceId": "PSVC123", "monitorIds": [], "errorRateQuery": "sum:checkout.errors{*}.as_rate()" }, "type": "standard", "opsChannel": "C0PLATFORM1", "approvers": [ "U_CAB_1", "U_CAB_2" ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a", "fs_case": "github_unreadable_blocks" } }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-22T20:10:54.049701+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a", "x-fetchsandbox-relay": "[redacted]", "authorization": "[redacted]", "content-length": "525", "content-type": "application/json" }Recorded response headers
{ "content-type": "application/json" }Request body
{ "action": "start", "runId": "github-unreadable-blocks-vr_55bd8d33c1bb4538a9936780cce0d10a", "input": { "changeId": "CHG-github-unreadable-blocks", "repo": "acme/checkout", "pullRequest": 4, "service": { "name": "checkout", "pagerdutyServiceId": "PSVC123", "monitorIds": [], "errorRateQuery": "sum:checkout.errors{*}.as_rate()" }, "type": "standard", "opsChannel": "C0PLATFORM1", "approvers": [ "U_CAB_1", "U_CAB_2" ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a", "fs_case": "github_unreadable_blocks" } }Recorded response · HTTP 200
{ "runId": "github-unreadable-blocks-vr_55bd8d33c1bb4538a9936780cce0d10a", "workflow": "change-management-gate", "metadata": { "organization": "Acme", "company": "Acme Corporation", "environment": "unconfigured", "owner": "unassigned", "department": "unassigned", "ownerTeam": "unassigned", "oncall": "unassigned", "version": "unversioned", "sourceCommit": "unrecorded" }, "org": "Engineering", "team": "platform-ops", "phase": "DONE", "closed": true, "outcome": "partial", "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a", "fs_case": "github_unreadable_blocks" }, "duplicateStarts": 0, "agents": [ { "name": "change-check", "status": "failed", "error": "github 401 UNAUTHORIZED: GET /repos/acme/checkout/pulls/4 → 401 UNAUTHORIZED", "errorCode": "github:UNAUTHORIZED", "durationMs": 138 }, { "name": "ops-check", "status": "ok", "summary": "0 high-urgency incident(s), 0 monitor(s) alerting", "durationMs": 126 }, { "name": "gate", "status": "ok", "summary": "blocked: the pull request could not be read", "durationMs": 0 } ], "actions": [ { "id": "slack.post_change:blocked", "kind": "slack.post_change", "provider": "slack", "agent": "gate", "gate": "auto", "status": "applied", "summary": { "channel": "C0PLATFORM1" }, "attempts": 1, "ref": "1715W54A9M.BW24WU", "appliedAt": "2026-10-22T20:10:53.887Z", "reconciled": null } ], "counts": { "applied": 1, "failed": 0, "pendingApproval": 0, "skipped": 0, "rejected": 0, "scheduled": 0, "awaitingSignal": 0, "compensated": 0 }, "wakeAt": null, "audit": { "seq": 4, "head": "5309d2b52fcb724baa44c0e0a6f252f9f01944295c488d7428702d0fd0c80f4b" }, "output": { "mode": "blocked", "reasons": [ "the pull request could not be read" ] }, "events": [ { "at": "2026-10-22T20:10:53.606Z", "msg": "started by U_FETCHSANDBOX" }, { "at": "2026-10-22T20:10:53.745Z", "msg": "agents: change-check=failed, ops-check=ok" }, { "at": "2026-10-22T20:10:53.748Z", "msg": "planned 1 action(s): 0 need approval" }, { "at": "2026-10-22T20:10:53.887Z", "msg": "slack.post_change:blocked: applied" }, { "at": "2026-10-22T20:10:53.890Z", "msg": "done (partial)" } ], "createdAt": "2026-10-22T20:10:53.606Z", "updatedAt": "2026-10-22T20:10:53.890Z", "duplicate": false } - · GET github request · github unreadable blocks · /repos/acme/checkout/pulls/4 · HTTP 401 · processing 0.21ms
View sanitized request and response
Curl-style request view
curl --request GET '<GITHUB_TWIN_BASE_URL>/repos/acme/checkout/pulls/4' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL was not recorded. Provider processing: 0.21ms.
Recorded request headers
{ "host": "fetchsandbox.com", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a" }Recorded response headers
Response headers were not saved in this run.
Request body
No body shown for this read.
Recorded response · HTTP 401
{ "errors": [ { "status": "401", "code": "UNAUTHORIZED", "detail": "Bad credentials. The token used is invalid or has been revoked." } ] } - · GET github request · provider traffic · /repos/acme/checkout/pulls/4 · HTTP 401 · request 41035ccef437 · processing 0.21ms
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/sandbox/3de250868c/repos/acme/checkout/pulls/4' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 0.21ms.
Recorded request headers
{ "host": "fetchsandbox.com", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a" }Recorded response headers
Response headers were not saved in this run.
Request body
No body shown for this read.
Recorded response · HTTP 401
{ "errors": [ { "status": "401", "code": "UNAUTHORIZED", "detail": "Bad credentials. The token used is invalid or has been revoked." } ] } - · GET pagerduty request · provider traffic · /incidents · HTTP 200 · request 04a2d7fe89af · processing 1.79ms
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/sandbox/c91902cec7/incidents' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 1.79ms.
Recorded request headers
{ "host": "fetchsandbox.com", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a" }Recorded response headers
Response headers were not saved in this run.
Request body
No body shown for this read.
Recorded response · HTTP 200
{ "ending_before": "sample-value", "filters": { "created_at_end": "2023-06-01T00:00:00-04:00", "created_at_start": "2023-05-01T00:00:00-04:00", "incident_type_ids": [ "PIJ90N7", "PKL73Z2" ], "major": true, "priority_ids": [ "PITMC5Y", "PEHBBT8", "PB8QADI" ], "priority_names": [ "P1", "P2", "P3" ], "service_ids": [ "PC8O0L3", "PX01HJD", "P5FK83M" ], "team_ids": [ "P373JQQ", "PAECHJV", "P7SYGW6" ], "updated_after": "sample-value", "urgency": "high" }, "limit": 20, "order": "asc", "order_by": "created_at", "starting_after": "sample-value", "time_zone": "UTC", "name": "Sample Incident 1", "responder_id": "9686c801-360b-4156-8901-94f5fd939dad" } - · POST slack request · provider traffic · /api/chat.postMessage · HTTP 200 · request e9b7aabdf1cd · processing 14.49ms
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/sandbox/a097942801/api/chat.postMessage' \ --header 'host: fetchsandbox.com' \ --header 'user-agent: node' \ --header 'accept: application/json' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \ --header 'content-type: application/json; charset=utf-8' \ --data-raw '{ "channel": "C0PLATFORM1", "text": ":no_entry: CHG-github-unreadable-blocks (acme/checkout#4) blocked: the pull request could not be read.", "unfurl_links": false, "unfurl_media": false }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL resolved from the saved run route. Provider processing: 14.49ms.
Recorded request headers
{ "host": "fetchsandbox.com", "content-length": "179", "user-agent": "node", "accept": "application/json", "x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a", "content-type": "application/json; charset=utf-8" }Recorded response headers
Response headers were not saved in this run.
Request body
{ "channel": "C0PLATFORM1", "text": ":no_entry: CHG-github-unreadable-blocks (acme/checkout#4) blocked: the pull request could not be read.", "unfurl_links": false, "unfurl_media": false }Recorded response · HTTP 200
{ "channel": "C0PLATFORM1", "message": { "bot_id": "bot_f2dd9bd5d38f435fbe79f83f9e", "client_msg_id": "cli_115e595d795144b69b50790ba5", "name": "item-b77a30", "old_name": "Sample Old", "parent_user_id": "par_519a3d6b3c9c4851a4c14ec9f4", "permalink": "my-resource", "reply_count": 0, "reply_users_count": 0, "text": "Sample text content", "ts": "sample-value", "type": "default", "unread_count": 0, "username": "acme-corp" }, "ok": true, "ts": "1715W54A9M.BW24WU" } - · GET app request /verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/github_unreadable_blocks/runs · github unreadable blocks · HTTP 200
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/github_unreadable_blocks/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-22T20:10:54.345876+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a", "x-fetchsandbox-relay": "[redacted]", "authorization": "[redacted]" }Recorded response headers
{ "content-type": "application/json" }Request body
This request had no body.
Recorded response · HTTP 200
{ "runs": [ { "runId": "github-unreadable-blocks-vr_55bd8d33c1bb4538a9936780cce0d10a", "workflow": "change-management-gate", "metadata": { "organization": "Acme", "company": "Acme Corporation", "environment": "unconfigured", "owner": "unassigned", "department": "unassigned", "ownerTeam": "unassigned", "oncall": "unassigned", "version": "unversioned", "sourceCommit": "unrecorded" }, "org": "Engineering", "team": "platform-ops", "phase": "DONE", "closed": true, "outcome": "partial", "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a", "fs_case": "github_unreadable_blocks" }, "duplicateStarts": 0, "agents": [ { "name": "change-check", "status": "failed", "error": "github 401 UNAUTHORIZED: GET /repos/acme/checkout/pulls/4 → 401 UNAUTHORIZED", "errorCode": "github:UNAUTHORIZED", "durationMs": 138 }, { "name": "ops-check", "status": "ok", "summary": "0 high-urgency incident(s), 0 monitor(s) alerting", "durationMs": 126 }, { "name": "gate", "status": "ok", "summary": "blocked: the pull request could not be read", "durationMs": 0 } ], "actions": [ { "id": "slack.post_change:blocked", "kind": "slack.post_change", "provider": "slack", "agent": "gate", "gate": "auto", "status": "applied", "summary": { "channel": "C0PLATFORM1" }, "attempts": 1, "ref": "1715W54A9M.BW24WU", "appliedAt": "2026-10-22T20:10:53.887Z", "reconciled": null } ], "counts": { "applied": 1, "failed": 0, "pendingApproval": 0, "skipped": 0, "rejected": 0, "scheduled": 0, "awaitingSignal": 0, "compensated": 0 }, "wakeAt": null, "audit": { "seq": 4, "head": "5309d2b52fcb724baa44c0e0a6f252f9f01944295c488d7428702d0fd0c80f4b" }, "output": { "mode": "blocked", "reasons": [ "the pull request could not be read" ] }, "events": [ { "at": "2026-10-22T20:10:53.606Z", "msg": "started by U_FETCHSANDBOX" }, { "at": "2026-10-22T20:10:53.745Z", "msg": "agents: change-check=failed, ops-check=ok" }, { "at": "2026-10-22T20:10:53.748Z", "msg": "planned 1 action(s): 0 need approval" }, { "at": "2026-10-22T20:10:53.887Z", "msg": "slack.post_change:blocked: applied" }, { "at": "2026-10-22T20:10:53.890Z", "msg": "done (partial)" } ], "createdAt": "2026-10-22T20:10:53.606Z", "updatedAt": "2026-10-22T20:10:53.890Z" } ] } - · POST app request /invocations · github unreadable blocks · HTTP 200
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/invocations' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]' \ --header 'content-type: application/json' \ --data-raw '{ "action": "start", "runId": "github-unreadable-blocks-vr_55bd8d33c1bb4538a9936780cce0d10a", "input": { "changeId": "CHG-github-unreadable-blocks", "repo": "acme/checkout", "pullRequest": 4, "service": { "name": "checkout", "pagerdutyServiceId": "PSVC123", "monitorIds": [], "errorRateQuery": "sum:checkout.errors{*}.as_rate()" }, "type": "standard", "opsChannel": "C0PLATFORM1", "approvers": [ "U_CAB_1", "U_CAB_2" ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a", "fs_case": "github_unreadable_blocks" } }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-22T20:10:54.551806+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a", "x-fetchsandbox-relay": "[redacted]", "authorization": "[redacted]", "content-length": "525", "content-type": "application/json" }Recorded response headers
{ "content-type": "application/json" }Request body
{ "action": "start", "runId": "github-unreadable-blocks-vr_55bd8d33c1bb4538a9936780cce0d10a", "input": { "changeId": "CHG-github-unreadable-blocks", "repo": "acme/checkout", "pullRequest": 4, "service": { "name": "checkout", "pagerdutyServiceId": "PSVC123", "monitorIds": [], "errorRateQuery": "sum:checkout.errors{*}.as_rate()" }, "type": "standard", "opsChannel": "C0PLATFORM1", "approvers": [ "U_CAB_1", "U_CAB_2" ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a", "fs_case": "github_unreadable_blocks" } }Recorded response · HTTP 200
{ "runId": "github-unreadable-blocks-vr_55bd8d33c1bb4538a9936780cce0d10a", "workflow": "change-management-gate", "metadata": { "organization": "Acme", "company": "Acme Corporation", "environment": "unconfigured", "owner": "unassigned", "department": "unassigned", "ownerTeam": "unassigned", "oncall": "unassigned", "version": "unversioned", "sourceCommit": "unrecorded" }, "org": "Engineering", "team": "platform-ops", "phase": "DONE", "closed": true, "outcome": "partial", "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a", "fs_case": "github_unreadable_blocks" }, "duplicateStarts": 1, "agents": [ { "name": "change-check", "status": "failed", "error": "github 401 UNAUTHORIZED: GET /repos/acme/checkout/pulls/4 → 401 UNAUTHORIZED", "errorCode": "github:UNAUTHORIZED", "durationMs": 138 }, { "name": "ops-check", "status": "ok", "summary": "0 high-urgency incident(s), 0 monitor(s) alerting", "durationMs": 126 }, { "name": "gate", "status": "ok", "summary": "blocked: the pull request could not be read", "durationMs": 0 } ], "actions": [ { "id": "slack.post_change:blocked", "kind": "slack.post_change", "provider": "slack", "agent": "gate", "gate": "auto", "status": "applied", "summary": { "channel": "C0PLATFORM1" }, "attempts": 1, "ref": "1715W54A9M.BW24WU", "appliedAt": "2026-10-22T20:10:53.887Z", "reconciled": null } ], "counts": { "applied": 1, "failed": 0, "pendingApproval": 0, "skipped": 0, "rejected": 0, "scheduled": 0, "awaitingSignal": 0, "compensated": 0 }, "wakeAt": null, "audit": { "seq": 5, "head": "85727d12b7d30711153f8a90f38ea655a0485b3d40b801a999ef28e4773f5521" }, "output": { "mode": "blocked", "reasons": [ "the pull request could not be read" ] }, "events": [ { "at": "2026-10-22T20:10:53.606Z", "msg": "started by U_FETCHSANDBOX" }, { "at": "2026-10-22T20:10:53.745Z", "msg": "agents: change-check=failed, ops-check=ok" }, { "at": "2026-10-22T20:10:53.748Z", "msg": "planned 1 action(s): 0 need approval" }, { "at": "2026-10-22T20:10:53.887Z", "msg": "slack.post_change:blocked: applied" }, { "at": "2026-10-22T20:10:53.890Z", "msg": "done (partial)" }, { "at": "2026-10-22T20:10:54.444Z", "msg": "duplicate start ignored" } ], "createdAt": "2026-10-22T20:10:53.606Z", "updatedAt": "2026-10-22T20:10:54.444Z", "duplicate": true } - · GET app request /verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/github_unreadable_blocks/runs · github unreadable blocks · HTTP 200
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/github_unreadable_blocks/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-22T20:10:54.856893+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a", "x-fetchsandbox-relay": "[redacted]", "authorization": "[redacted]" }Recorded response headers
{ "content-type": "application/json" }Request body
This request had no body.
Recorded response · HTTP 200
{ "runs": [ { "runId": "github-unreadable-blocks-vr_55bd8d33c1bb4538a9936780cce0d10a", "workflow": "change-management-gate", "metadata": { "organization": "Acme", "company": "Acme Corporation", "environment": "unconfigured", "owner": "unassigned", "department": "unassigned", "ownerTeam": "unassigned", "oncall": "unassigned", "version": "unversioned", "sourceCommit": "unrecorded" }, "org": "Engineering", "team": "platform-ops", "phase": "DONE", "closed": true, "outcome": "partial", "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a", "fs_case": "github_unreadable_blocks" }, "duplicateStarts": 1, "agents": [ { "name": "change-check", "status": "failed", "error": "github 401 UNAUTHORIZED: GET /repos/acme/checkout/pulls/4 → 401 UNAUTHORIZED", "errorCode": "github:UNAUTHORIZED", "durationMs": 138 }, { "name": "ops-check", "status": "ok", "summary": "0 high-urgency incident(s), 0 monitor(s) alerting", "durationMs": 126 }, { "name": "gate", "status": "ok", "summary": "blocked: the pull request could not be read", "durationMs": 0 } ], "actions": [ { "id": "slack.post_change:blocked", "kind": "slack.post_change", "provider": "slack", "agent": "gate", "gate": "auto", "status": "applied", "summary": { "channel": "C0PLATFORM1" }, "attempts": 1, "ref": "1715W54A9M.BW24WU", "appliedAt": "2026-10-22T20:10:53.887Z", "reconciled": null } ], "counts": { "applied": 1, "failed": 0, "pendingApproval": 0, "skipped": 0, "rejected": 0, "scheduled": 0, "awaitingSignal": 0, "compensated": 0 }, "wakeAt": null, "audit": { "seq": 5, "head": "85727d12b7d30711153f8a90f38ea655a0485b3d40b801a999ef28e4773f5521" }, "output": { "mode": "blocked", "reasons": [ "the pull request could not be read" ] }, "events": [ { "at": "2026-10-22T20:10:53.606Z", "msg": "started by U_FETCHSANDBOX" }, { "at": "2026-10-22T20:10:53.745Z", "msg": "agents: change-check=failed, ops-check=ok" }, { "at": "2026-10-22T20:10:53.748Z", "msg": "planned 1 action(s): 0 need approval" }, { "at": "2026-10-22T20:10:53.887Z", "msg": "slack.post_change:blocked: applied" }, { "at": "2026-10-22T20:10:53.890Z", "msg": "done (partial)" }, { "at": "2026-10-22T20:10:54.444Z", "msg": "duplicate start ignored" } ], "createdAt": "2026-10-22T20:10:53.606Z", "updatedAt": "2026-10-22T20:10:54.444Z" } ] } - · GET app request /verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/invalid_input_rejected/runs · invalid input rejected · HTTP 200
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/invalid_input_rejected/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-22T20:10:55.069046+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a", "x-fetchsandbox-relay": "[redacted]", "authorization": "[redacted]" }Recorded response headers
{ "content-type": "application/json", "content-length": "11" }Request body
This request had no body.
Recorded response · HTTP 200
{ "runs": [] } - · POST app request /invocations · invalid input rejected · HTTP 400
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/invocations' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]' \ --header 'content-type: application/json' \ --data-raw '{ "action": "start", "runId": "invalid-input-rejected-vr_55bd8d33c1bb4538a9936780cce0d10a", "input": { "changeId": "CHG-baseline", "repo": "not a repo", "pullRequest": 4, "service": { "name": "checkout", "pagerdutyServiceId": "PSVC123", "monitorIds": [], "errorRateQuery": "sum:checkout.errors{*}.as_rate()" }, "type": "standard", "opsChannel": "C0PLATFORM1", "approvers": [ "U_CAB_1", "U_CAB_2" ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a", "fs_case": "invalid_input_rejected" } }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-22T20:10:55.278263+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a", "x-fetchsandbox-relay": "[redacted]", "authorization": "[redacted]", "content-length": "502", "content-type": "application/json" }Recorded response headers
{ "content-type": "application/json", "content-length": "55" }Request body
{ "action": "start", "runId": "invalid-input-rejected-vr_55bd8d33c1bb4538a9936780cce0d10a", "input": { "changeId": "CHG-baseline", "repo": "not a repo", "pullRequest": 4, "service": { "name": "checkout", "pagerdutyServiceId": "PSVC123", "monitorIds": [], "errorRateQuery": "sum:checkout.errors{*}.as_rate()" }, "type": "standard", "opsChannel": "C0PLATFORM1", "approvers": [ "U_CAB_1", "U_CAB_2" ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a", "fs_case": "invalid_input_rejected" } }Recorded response · HTTP 400
{ "error": "invalid input", "issues": [ "repo: owner/repo" ] } - · GET app request /verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/invalid_input_rejected/runs · invalid input rejected · HTTP 200
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/invalid_input_rejected/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-22T20:10:55.569583+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a", "x-fetchsandbox-relay": "[redacted]", "authorization": "[redacted]" }Recorded response headers
{ "content-type": "application/json", "content-length": "11" }Request body
This request had no body.
Recorded response · HTTP 200
{ "runs": [] } - · POST app request /invocations · invalid input rejected · HTTP 400
View sanitized request and response
Curl-style request view
curl --request POST 'https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/invocations' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]' \ --header 'content-type: application/json' \ --data-raw '{ "action": "start", "runId": "invalid-input-rejected-vr_55bd8d33c1bb4538a9936780cce0d10a", "input": { "changeId": "CHG-baseline", "repo": "not a repo", "pullRequest": 4, "service": { "name": "checkout", "pagerdutyServiceId": "PSVC123", "monitorIds": [], "errorRateQuery": "sum:checkout.errors{*}.as_rate()" }, "type": "standard", "opsChannel": "C0PLATFORM1", "approvers": [ "U_CAB_1", "U_CAB_2" ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a", "fs_case": "invalid_input_rejected" } }'This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-22T20:10:55.780709+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a", "x-fetchsandbox-relay": "[redacted]", "authorization": "[redacted]", "content-length": "502", "content-type": "application/json" }Recorded response headers
{ "content-type": "application/json", "content-length": "55" }Request body
{ "action": "start", "runId": "invalid-input-rejected-vr_55bd8d33c1bb4538a9936780cce0d10a", "input": { "changeId": "CHG-baseline", "repo": "not a repo", "pullRequest": 4, "service": { "name": "checkout", "pagerdutyServiceId": "PSVC123", "monitorIds": [], "errorRateQuery": "sum:checkout.errors{*}.as_rate()" }, "type": "standard", "opsChannel": "C0PLATFORM1", "approvers": [ "U_CAB_1", "U_CAB_2" ] }, "requestedBy": { "userId": "U_FETCHSANDBOX" }, "labels": { "fs_run": "vr_55bd8d33c1bb4538a9936780cce0d10a", "fs_case": "invalid_input_rejected" } }Recorded response · HTTP 400
{ "error": "invalid input", "issues": [ "repo: owner/repo" ] } - · GET app request /verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/invalid_input_rejected/runs · invalid input rejected · HTTP 200
View sanitized request and response
Curl-style request view
curl --request GET 'https://fetchsandbox.com/api/relay/9203063c081eba8e72ad1b674735696a738665ba9c074c64/verify/runs/vr_55bd8d33c1bb4538a9936780cce0d10a/cases/invalid_input_rejected/runs' \ --header 'accept: */*' \ --header 'user-agent: python-httpx/0.28.1' \ --header 'host: fetchsandbox.com' \ --header 'x-flow-run-id: vr_55bd8d33c1bb4538a9936780cce0d10a' \ --header 'x-fetchsandbox-relay: [redacted]' \ --header 'authorization: [redacted]'
This view is reconstructed from the saved method, URL, and sanitized headers and body. Secrets are removed and the result is not exact wire bytes, so it cannot be used as a runnable authenticated replay.
Target URL recorded at execution. Response finished: 2026-10-22T20:10:56.113727+00:00.
Recorded request headers
{ "accept": "*/*", "user-agent": "python-httpx/0.28.1", "host": "fetchsandbox.com", "x-flow-run-id": "vr_55bd8d33c1bb4538a9936780cce0d10a", "x-fetchsandbox-relay": "[redacted]", "authorization": "[redacted]" }Recorded response headers
{ "content-type": "application/json", "content-length": "11" }Request body
This request had no body.
Recorded response · HTTP 200
{ "runs": [] }
Expand a request to inspect its sanitized payload. Credentials and personal data stay hidden.
Timestamps reflect when the sandbox recorded each request, not the order your app triggered them.
- Verification covers the declared HTTP actions and state reads in this run.
- The app version shown was supplied by the app itself, not independently checked.
- Passing all checks in this run does not certify the whole app as production-ready.
- The verifier session does not survive a restart. This says nothing about the durability of the app under test.
- App state shown here is what the app's own endpoint reported. It is not independently checked against the database.
Sanitized summary. Expand a timeline event to inspect the safe request and response fields; sensitive provider and application data stays hidden.