{
  "$schema": "runback.audit/v2",
  "manifest": {
    "run_id": "sbx-kyc-onboarding-bc8b5e2d9ebd",
    "generated_at": "2026-11-07T07:28:25.671Z",
    "event_count": 9,
    "algorithm": "sha256-chain",
    "content_digest": "f63e031dd565c8165af68f1ef9bed7c3cdd37a8ccceca5fc640414000c4d6016",
    "replay": {
      "cassette_digest": "b6fbf37bed451ff362d4dd7839908c8255bf0f3a531d72069b6e6eb7787696e2",
      "entry_count": 7,
      "algorithm": "oracle-chain/sha256",
      "note": "The run's oracle stream — every model response and tool output, hash-chained. Re-execute the agent against `events` with @runback/replay and the cassette digest must reproduce. This is proof the recording IS the deterministic input stream of the run — an audit you can re-run, not just read."
    },
    "signed": true,
    "signature": {
      "alg": "Ed25519",
      "value": "6000df1e16a7454c5a2897be634f36cecdc6e27c49d76ea6b584e56308ffcee50e0df09422c0063f59a4d59a79912fb046a5e1dc65669d6d73b79f8b8818cb08",
      "pubkey": "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEArDPmR+Gvu1HawnSvM6xjZao7BVPPQ80Qq3sa1hAYvDU=\n-----END PUBLIC KEY-----\n"
    },
    "verify": "Recompute the event chain h_i = SHA-256(h_{i-1} + canonical(event_i)) over `events` → must equal content_digest. Recompute the oracle-stream digest from `events` → must equal replay.cassette_digest. The signature covers `${content_digest}:${cassette_digest}`. Ed25519: verify with the public key embedded in manifest.signature.pubkey (no server key needed — fully offline-verifiable). HMAC-SHA256 (legacy): requires AUDIT_SIGNING_KEY. POST this record to /api/audit/verify.",
    "spec_url": "https://runback.dev/spec",
    "verifier_url": "https://runback.dev/verify"
  },
  "run": {
    "run_id": "sbx-kyc-onboarding-bc8b5e2d9ebd",
    "name": "kyc-onboarding-agent",
    "status": "success",
    "input": "Onboard Harbour Mock Traders (ABN 53191046445) as a new business customer.",
    "output": {
      "summary": "Requested proof of business reactivation and updated ABN status for Harbour Mock Traders."
    },
    "error": null,
    "metadata": {
      "agent": {
        "description": "Screens and onboards business customers. Runback demo agent: real model calls and real policy decisions; its tools act on a sandbox of synthetic customers, orders and accounts.",
        "systemOfRecord": "Runback demo sandbox (synthetic data)"
      },
      "model": "openai/gpt-oss-20b",
      "demo_agent": true,
      "est_cost_usd": 0.000113,
      "sandbox_tools": true,
      "scenario_seed": "kyc-onboarding-agent:2026-11-06:75"
    },
    "step_count": 4,
    "total_tokens": 2205,
    "started_at": "2026-11-06T14:10:53.756+00:00",
    "ended_at": "2026-11-06T14:10:55.294+00:00",
    "actor_type": null,
    "actor_id": null
  },
  "events": [
    {
      "seq": 0,
      "name": "kyc-onboarding-agent",
      "type": "run",
      "error": null,
      "input": "Onboard Harbour Mock Traders (ABN 53191046445) as a new business customer.",
      "phase": "start",
      "output": null,
      "run_id": "sbx-kyc-onboarding-bc8b5e2d9ebd",
      "status": "running",
      "ts_end": "2026-11-06T14:10:55.294Z",
      "span_id": "r",
      "metadata": {
        "agent": {
          "description": "Screens and onboards business customers. Runback demo agent: real model calls and real policy decisions; its tools act on a sandbox of synthetic customers, orders and accounts.",
          "systemOfRecord": "Runback demo sandbox (synthetic data)"
        },
        "model": "openai/gpt-oss-20b",
        "demo_agent": true,
        "est_cost_usd": 0.000113,
        "sandbox_tools": true,
        "scenario_seed": "kyc-onboarding-agent:2026-11-06:75"
      },
      "ts_start": "2026-11-06T14:10:53.756Z",
      "parent_span_id": null,
      "schema_version": 1,
      "_hash": "2deb5c196966a890fd5bb9534a5c0fcccde57f41b6b1ad23be4148ca45bd8a47"
    },
    {
      "seq": 1,
      "type": "llm",
      "error": null,
      "model": {
        "model_id": "openai/gpt-oss-20b",
        "provider": "groq"
      },
      "usage": {
        "input_tokens": 360,
        "total_tokens": 436,
        "output_tokens": 76
      },
      "run_id": "sbx-kyc-onboarding-bc8b5e2d9ebd",
      "ts_end": "2026-11-06T14:10:53.909Z",
      "request": {
        "tools": [
          {
            "name": "verify_abn",
            "parameters": {
              "type": "object",
              "required": [
                "abn"
              ],
              "properties": {
                "abn": {
                  "type": "string",
                  "description": "11-digit ABN"
                }
              },
              "additionalProperties": false
            },
            "description": "Verify an Australian Business Number."
          },
          {
            "name": "sanctions_screen",
            "parameters": {
              "type": "object",
              "required": [
                "entity"
              ],
              "properties": {
                "entity": {
                  "type": "string",
                  "description": "Legal entity name"
                }
              },
              "additionalProperties": false
            },
            "description": "Screen an entity against DFAT, OFAC and UN lists."
          },
          {
            "name": "approve_onboarding",
            "parameters": {
              "type": "object",
              "required": [
                "entity",
                "abn"
              ],
              "properties": {
                "abn": {
                  "type": "string",
                  "description": "ABN"
                },
                "entity": {
                  "type": "string",
                  "description": "Legal entity name"
                }
              },
              "additionalProperties": false
            },
            "description": "Approve the business as a customer."
          },
          {
            "name": "request_documents",
            "parameters": {
              "type": "object",
              "required": [
                "entity",
                "documents"
              ],
              "properties": {
                "entity": {
                  "type": "string",
                  "description": "Legal entity name"
                },
                "documents": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              },
              "additionalProperties": false
            },
            "description": "Ask the applicant for more documents."
          }
        ],
        "params": {
          "temperature": 0,
          "max_output_tokens": 500
        },
        "system": "You are Acme's business onboarding agent. You are running in Runback's public demo sandbox: every customer, order, invoice and account is synthetic, and your tools act on test data only. Verify the ABN and screen the entity against sanctions lists. Approve onboarding when both are clean; otherwise request documents. Use the tools to act; when you are done, reply with a one-sentence summary of what you did.",
        "messages": [
          {
            "role": "user",
            "content": "Onboard Harbour Mock Traders (ABN 53191046445) as a new business customer."
          }
        ]
      },
      "span_id": "l1",
      "response": {
        "text": null,
        "reasoning": null,
        "tool_calls": [
          {
            "input": {
              "abn": "53191046445"
            },
            "tool_name": "verify_abn",
            "tool_call_id": "fc_03a8d613-c2c8-436e-8c04-ee0cce2f3793"
          }
        ],
        "finish_reason": "tool-calls"
      },
      "ts_start": "2026-11-06T14:10:53.756Z",
      "latency_ms": 153,
      "parent_span_id": "r",
      "schema_version": 1,
      "_hash": "697e717a3267ec841b22e0b197448fc0e557f79b56c039f41a908c8ac04bb3c8"
    },
    {
      "seq": 2,
      "type": "tool",
      "error": null,
      "input": {
        "abn": "53191046445"
      },
      "output": {
        "valid": true,
        "status": "cancelled",
        "entity_name": "Harbour Mock Traders"
      },
      "run_id": "sbx-kyc-onboarding-bc8b5e2d9ebd",
      "ts_end": "2026-11-06T14:10:53.936Z",
      "span_id": "t1",
      "ts_start": "2026-11-06T14:10:53.909Z",
      "tool_name": "verify_abn",
      "latency_ms": 27,
      "tool_call_id": "fc_03a8d613-c2c8-436e-8c04-ee0cce2f3793",
      "parent_span_id": "l1",
      "schema_version": 1,
      "policy_evaluated": {
        "passed": true
      },
      "_hash": "3f47c9fd2944aec1f4ba1689ee07f8c37c6e32f6c0200c571ec0bc16d0e30cca"
    },
    {
      "seq": 3,
      "type": "llm",
      "error": null,
      "model": {
        "model_id": "openai/gpt-oss-20b",
        "provider": "groq"
      },
      "usage": {
        "input_tokens": 409,
        "total_tokens": 452,
        "output_tokens": 43
      },
      "run_id": "sbx-kyc-onboarding-bc8b5e2d9ebd",
      "ts_end": "2026-11-06T14:10:54.351Z",
      "request": {
        "tools": [
          {
            "name": "verify_abn",
            "parameters": {
              "type": "object",
              "required": [
                "abn"
              ],
              "properties": {
                "abn": {
                  "type": "string",
                  "description": "11-digit ABN"
                }
              },
              "additionalProperties": false
            },
            "description": "Verify an Australian Business Number."
          },
          {
            "name": "sanctions_screen",
            "parameters": {
              "type": "object",
              "required": [
                "entity"
              ],
              "properties": {
                "entity": {
                  "type": "string",
                  "description": "Legal entity name"
                }
              },
              "additionalProperties": false
            },
            "description": "Screen an entity against DFAT, OFAC and UN lists."
          },
          {
            "name": "approve_onboarding",
            "parameters": {
              "type": "object",
              "required": [
                "entity",
                "abn"
              ],
              "properties": {
                "abn": {
                  "type": "string",
                  "description": "ABN"
                },
                "entity": {
                  "type": "string",
                  "description": "Legal entity name"
                }
              },
              "additionalProperties": false
            },
            "description": "Approve the business as a customer."
          },
          {
            "name": "request_documents",
            "parameters": {
              "type": "object",
              "required": [
                "entity",
                "documents"
              ],
              "properties": {
                "entity": {
                  "type": "string",
                  "description": "Legal entity name"
                },
                "documents": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              },
              "additionalProperties": false
            },
            "description": "Ask the applicant for more documents."
          }
        ],
        "params": {
          "temperature": 0,
          "max_output_tokens": 500
        },
        "system": "You are Acme's business onboarding agent. You are running in Runback's public demo sandbox: every customer, order, invoice and account is synthetic, and your tools act on test data only. Verify the ABN and screen the entity against sanctions lists. Approve onboarding when both are clean; otherwise request documents. Use the tools to act; when you are done, reply with a one-sentence summary of what you did.",
        "messages": [
          {
            "role": "user",
            "content": "Onboard Harbour Mock Traders (ABN 53191046445) as a new business customer."
          },
          {
            "role": "assistant",
            "content": [
              {
                "type": "tool-call",
                "input": {
                  "abn": "53191046445"
                },
                "toolName": "verify_abn",
                "toolCallId": "fc_03a8d613-c2c8-436e-8c04-ee0cce2f3793"
              }
            ]
          },
          {
            "role": "tool",
            "content": [
              {
                "type": "tool-result",
                "output": {
                  "type": "json",
                  "value": {
                    "valid": true,
                    "status": "cancelled",
                    "entity_name": "Harbour Mock Traders"
                  }
                },
                "toolName": "verify_abn",
                "toolCallId": "fc_03a8d613-c2c8-436e-8c04-ee0cce2f3793"
              }
            ]
          }
        ]
      },
      "span_id": "l2",
      "response": {
        "text": null,
        "reasoning": null,
        "tool_calls": [
          {
            "input": {
              "entity": "Harbour Mock Traders"
            },
            "tool_name": "sanctions_screen",
            "tool_call_id": "fc_8284609a-c088-48a1-9a31-3cb2c4e5add4"
          }
        ],
        "finish_reason": "tool-calls"
      },
      "ts_start": "2026-11-06T14:10:53.936Z",
      "latency_ms": 415,
      "parent_span_id": "r",
      "schema_version": 1,
      "_hash": "86ed5b33ad53bb7f85fefa9bc8f44827abfaccca496a1d5532667a9e0574f3b8"
    },
    {
      "seq": 4,
      "type": "tool",
      "error": null,
      "input": {
        "entity": "Harbour Mock Traders"
      },
      "output": {
        "lists": [
          "DFAT",
          "OFAC",
          "UN"
        ],
        "match": false
      },
      "run_id": "sbx-kyc-onboarding-bc8b5e2d9ebd",
      "ts_end": "2026-11-06T14:10:54.371Z",
      "span_id": "t2",
      "ts_start": "2026-11-06T14:10:54.351Z",
      "tool_name": "sanctions_screen",
      "latency_ms": 20,
      "tool_call_id": "fc_8284609a-c088-48a1-9a31-3cb2c4e5add4",
      "parent_span_id": "l2",
      "schema_version": 1,
      "policy_evaluated": {
        "passed": true
      },
      "_hash": "18144b2228c3bb52783d997c25d516237dfc6692c06551ad5325577e8edc4a95"
    },
    {
      "seq": 5,
      "type": "llm",
      "error": null,
      "model": {
        "model_id": "openai/gpt-oss-20b",
        "provider": "groq"
      },
      "usage": {
        "input_tokens": 456,
        "total_tokens": 704,
        "output_tokens": 248
      },
      "run_id": "sbx-kyc-onboarding-bc8b5e2d9ebd",
      "ts_end": "2026-11-06T14:10:54.818Z",
      "request": {
        "tools": [
          {
            "name": "verify_abn",
            "parameters": {
              "type": "object",
              "required": [
                "abn"
              ],
              "properties": {
                "abn": {
                  "type": "string",
                  "description": "11-digit ABN"
                }
              },
              "additionalProperties": false
            },
            "description": "Verify an Australian Business Number."
          },
          {
            "name": "sanctions_screen",
            "parameters": {
              "type": "object",
              "required": [
                "entity"
              ],
              "properties": {
                "entity": {
                  "type": "string",
                  "description": "Legal entity name"
                }
              },
              "additionalProperties": false
            },
            "description": "Screen an entity against DFAT, OFAC and UN lists."
          },
          {
            "name": "approve_onboarding",
            "parameters": {
              "type": "object",
              "required": [
                "entity",
                "abn"
              ],
              "properties": {
                "abn": {
                  "type": "string",
                  "description": "ABN"
                },
                "entity": {
                  "type": "string",
                  "description": "Legal entity name"
                }
              },
              "additionalProperties": false
            },
            "description": "Approve the business as a customer."
          },
          {
            "name": "request_documents",
            "parameters": {
              "type": "object",
              "required": [
                "entity",
                "documents"
              ],
              "properties": {
                "entity": {
                  "type": "string",
                  "description": "Legal entity name"
                },
                "documents": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              },
              "additionalProperties": false
            },
            "description": "Ask the applicant for more documents."
          }
        ],
        "params": {
          "temperature": 0,
          "max_output_tokens": 500
        },
        "system": "You are Acme's business onboarding agent. You are running in Runback's public demo sandbox: every customer, order, invoice and account is synthetic, and your tools act on test data only. Verify the ABN and screen the entity against sanctions lists. Approve onboarding when both are clean; otherwise request documents. Use the tools to act; when you are done, reply with a one-sentence summary of what you did.",
        "messages": [
          {
            "role": "user",
            "content": "Onboard Harbour Mock Traders (ABN 53191046445) as a new business customer."
          },
          {
            "role": "assistant",
            "content": [
              {
                "type": "tool-call",
                "input": {
                  "abn": "53191046445"
                },
                "toolName": "verify_abn",
                "toolCallId": "fc_03a8d613-c2c8-436e-8c04-ee0cce2f3793"
              }
            ]
          },
          {
            "role": "tool",
            "content": [
              {
                "type": "tool-result",
                "output": {
                  "type": "json",
                  "value": {
                    "valid": true,
                    "status": "cancelled",
                    "entity_name": "Harbour Mock Traders"
                  }
                },
                "toolName": "verify_abn",
                "toolCallId": "fc_03a8d613-c2c8-436e-8c04-ee0cce2f3793"
              }
            ]
          },
          {
            "role": "assistant",
            "content": [
              {
                "type": "tool-call",
                "input": {
                  "entity": "Harbour Mock Traders"
                },
                "toolName": "sanctions_screen",
                "toolCallId": "fc_8284609a-c088-48a1-9a31-3cb2c4e5add4"
              }
            ]
          },
          {
            "role": "tool",
            "content": [
              {
                "type": "tool-result",
                "output": {
                  "type": "json",
                  "value": {
                    "lists": [
                      "DFAT",
                      "OFAC",
                      "UN"
                    ],
                    "match": false
                  }
                },
                "toolName": "sanctions_screen",
                "toolCallId": "fc_8284609a-c088-48a1-9a31-3cb2c4e5add4"
              }
            ]
          }
        ]
      },
      "span_id": "l3",
      "response": {
        "text": null,
        "reasoning": null,
        "tool_calls": [
          {
            "input": {
              "entity": "Harbour Mock Traders",
              "documents": [
                "Proof of business reactivation",
                "Updated ABN status"
              ]
            },
            "tool_name": "request_documents",
            "tool_call_id": "fc_dff93820-02a1-4d52-a02e-e9731e9a3c2b"
          }
        ],
        "finish_reason": "tool-calls"
      },
      "ts_start": "2026-11-06T14:10:54.371Z",
      "latency_ms": 447,
      "parent_span_id": "r",
      "schema_version": 1,
      "_hash": "324bee20cb89d6707a7f9924e9bd8b6b9b1e0fd1ec87ba31b1d7fc145660ec37"
    },
    {
      "seq": 6,
      "type": "tool",
      "error": null,
      "input": {
        "entity": "Harbour Mock Traders",
        "documents": [
          "Proof of business reactivation",
          "Updated ABN status"
        ]
      },
      "output": {
        "documents": [
          "Proof of business reactivation",
          "Updated ABN status"
        ],
        "requested": true
      },
      "run_id": "sbx-kyc-onboarding-bc8b5e2d9ebd",
      "ts_end": "2026-11-06T14:10:54.840Z",
      "span_id": "t3",
      "ts_start": "2026-11-06T14:10:54.818Z",
      "tool_name": "request_documents",
      "latency_ms": 22,
      "tool_call_id": "fc_dff93820-02a1-4d52-a02e-e9731e9a3c2b",
      "parent_span_id": "l3",
      "schema_version": 1,
      "policy_evaluated": {
        "passed": true
      },
      "_hash": "6223cd5c62650b3a30b15ef6a333a894d4242feb1277ab292521cc712c51f361"
    },
    {
      "seq": 7,
      "type": "llm",
      "error": null,
      "model": {
        "model_id": "openai/gpt-oss-20b",
        "provider": "groq"
      },
      "usage": {
        "input_tokens": 516,
        "total_tokens": 613,
        "output_tokens": 97
      },
      "run_id": "sbx-kyc-onboarding-bc8b5e2d9ebd",
      "ts_end": "2026-11-06T14:10:55.294Z",
      "request": {
        "tools": [
          {
            "name": "verify_abn",
            "parameters": {
              "type": "object",
              "required": [
                "abn"
              ],
              "properties": {
                "abn": {
                  "type": "string",
                  "description": "11-digit ABN"
                }
              },
              "additionalProperties": false
            },
            "description": "Verify an Australian Business Number."
          },
          {
            "name": "sanctions_screen",
            "parameters": {
              "type": "object",
              "required": [
                "entity"
              ],
              "properties": {
                "entity": {
                  "type": "string",
                  "description": "Legal entity name"
                }
              },
              "additionalProperties": false
            },
            "description": "Screen an entity against DFAT, OFAC and UN lists."
          },
          {
            "name": "approve_onboarding",
            "parameters": {
              "type": "object",
              "required": [
                "entity",
                "abn"
              ],
              "properties": {
                "abn": {
                  "type": "string",
                  "description": "ABN"
                },
                "entity": {
                  "type": "string",
                  "description": "Legal entity name"
                }
              },
              "additionalProperties": false
            },
            "description": "Approve the business as a customer."
          },
          {
            "name": "request_documents",
            "parameters": {
              "type": "object",
              "required": [
                "entity",
                "documents"
              ],
              "properties": {
                "entity": {
                  "type": "string",
                  "description": "Legal entity name"
                },
                "documents": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              },
              "additionalProperties": false
            },
            "description": "Ask the applicant for more documents."
          }
        ],
        "params": {
          "temperature": 0,
          "max_output_tokens": 500
        },
        "system": "You are Acme's business onboarding agent. You are running in Runback's public demo sandbox: every customer, order, invoice and account is synthetic, and your tools act on test data only. Verify the ABN and screen the entity against sanctions lists. Approve onboarding when both are clean; otherwise request documents. Use the tools to act; when you are done, reply with a one-sentence summary of what you did.",
        "messages": [
          {
            "role": "user",
            "content": "Onboard Harbour Mock Traders (ABN 53191046445) as a new business customer."
          },
          {
            "role": "assistant",
            "content": [
              {
                "type": "tool-call",
                "input": {
                  "abn": "53191046445"
                },
                "toolName": "verify_abn",
                "toolCallId": "fc_03a8d613-c2c8-436e-8c04-ee0cce2f3793"
              }
            ]
          },
          {
            "role": "tool",
            "content": [
              {
                "type": "tool-result",
                "output": {
                  "type": "json",
                  "value": {
                    "valid": true,
                    "status": "cancelled",
                    "entity_name": "Harbour Mock Traders"
                  }
                },
                "toolName": "verify_abn",
                "toolCallId": "fc_03a8d613-c2c8-436e-8c04-ee0cce2f3793"
              }
            ]
          },
          {
            "role": "assistant",
            "content": [
              {
                "type": "tool-call",
                "input": {
                  "entity": "Harbour Mock Traders"
                },
                "toolName": "sanctions_screen",
                "toolCallId": "fc_8284609a-c088-48a1-9a31-3cb2c4e5add4"
              }
            ]
          },
          {
            "role": "tool",
            "content": [
              {
                "type": "tool-result",
                "output": {
                  "type": "json",
                  "value": {
                    "lists": [
                      "DFAT",
                      "OFAC",
                      "UN"
                    ],
                    "match": false
                  }
                },
                "toolName": "sanctions_screen",
                "toolCallId": "fc_8284609a-c088-48a1-9a31-3cb2c4e5add4"
              }
            ]
          },
          {
            "role": "assistant",
            "content": [
              {
                "type": "tool-call",
                "input": {
                  "entity": "Harbour Mock Traders",
                  "documents": [
                    "Proof of business reactivation",
                    "Updated ABN status"
                  ]
                },
                "toolName": "request_documents",
                "toolCallId": "fc_dff93820-02a1-4d52-a02e-e9731e9a3c2b"
              }
            ]
          },
          {
            "role": "tool",
            "content": [
              {
                "type": "tool-result",
                "output": {
                  "type": "json",
                  "value": {
                    "documents": [
                      "Proof of business reactivation",
                      "Updated ABN status"
                    ],
                    "requested": true
                  }
                },
                "toolName": "request_documents",
                "toolCallId": "fc_dff93820-02a1-4d52-a02e-e9731e9a3c2b"
              }
            ]
          }
        ]
      },
      "span_id": "l4",
      "response": {
        "text": "Requested proof of business reactivation and updated ABN status for Harbour Mock Traders.",
        "reasoning": null,
        "tool_calls": [],
        "finish_reason": "stop"
      },
      "ts_start": "2026-11-06T14:10:54.840Z",
      "latency_ms": 453,
      "parent_span_id": "r",
      "schema_version": 1,
      "_hash": "f163eb2bf3c58ec425abb8a396952aa8496532795e2cc310af066d5c42a5b98d"
    },
    {
      "seq": 8,
      "name": "kyc-onboarding-agent",
      "type": "run",
      "error": null,
      "input": null,
      "phase": "end",
      "output": {
        "summary": "Requested proof of business reactivation and updated ABN status for Harbour Mock Traders."
      },
      "run_id": "sbx-kyc-onboarding-bc8b5e2d9ebd",
      "status": "success",
      "ts_end": "2026-11-06T14:10:55.294Z",
      "span_id": "re",
      "metadata": {
        "demo_agent": true,
        "sandbox_tools": true
      },
      "ts_start": "2026-11-06T14:10:55.294Z",
      "parent_span_id": null,
      "schema_version": 1,
      "_hash": "f63e031dd565c8165af68f1ef9bed7c3cdd37a8ccceca5fc640414000c4d6016"
    }
  ]
}