TradeOpsSim / index.html
AlexSchwartzman's picture
Publish TradeOpsSim video and recorded walkthrough
ac1ad14 verified
Raw History Blame Contribute Delete
18.1 kB
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="A recorded, synthetic trade-reconciliation example built with AgentEnv. Watch the walkthrough, inspect two recorded outcomes, and download the environment.">
<title>TradeOpsSim — recorded AgentEnv walkthrough</title>
<link rel="stylesheet" href="styles.css">
<script src="app.js" defer></script>
</head>
<body>
<header class="masthead wrap">
<a class="brand" href="#top">TradeOpsSim <span>Built with AgentEnv</span></a>
<a href="https://huggingface.co/datasets/AlexSchwartzman/TradeOpsSim-AgentEnv" target="_blank" rel="noopener">Environment &amp; data ↗</a>
</header>
<main id="top" class="wrap">
<section class="intro" aria-labelledby="page-title">
<p class="eyebrow">Recorded demo · synthetic data</p>
<h1 id="page-title">Test a reconciliation agent.</h1>
<p class="lead">Your team defines the records, permitted tools and checks for a correct result. AgentEnv runs agents in that test environment and records the outcomes.</p>
<video controls playsinline preload="metadata" poster="media/poster.png" aria-label="AgentEnv trade-reconciliation walkthrough">
<source src="media/tradeops-demo.mp4" type="video/mp4">
<track kind="captions" src="media/captions.vtt" srclang="en" label="English">
<a href="media/tradeops-demo.mp4">Download the video</a>
</video>
<div class="video-note"><span>2:32 walkthrough · Proposed GTS uses are labeled in the film.</span><a href="https://huggingface.co/datasets/AlexSchwartzman/TradeOpsSim-AgentEnv/blob/main/media/TRANSCRIPT.md" target="_blank" rel="noopener">Read transcript ↗</a></div>
</section>
<section class="recordings" aria-labelledby="cases-heading">
<p class="eyebrow">Inspect the recorded results</p>
<h2 id="cases-heading">Two cases. Two correct outcomes.</h2>
<p class="notice">This page replays existing results. <a href="https://huggingface.co/datasets/AlexSchwartzman/TradeOpsSim-AgentEnv" target="_blank" rel="noopener">Download the environment</a> to run your own agent.</p>
<div class="tabs" role="tablist" aria-label="Recorded reconciliation cases">
<button id="tab-confirmed" type="button" role="tab" aria-selected="true" aria-controls="case-panel" data-case="0">Confirmed cancellation</button>
<button id="tab-escalated" type="button" role="tab" aria-selected="false" aria-controls="case-panel" tabindex="-1" data-case="1">Missing confirmation</button>
</div>
<article id="case-panel" role="tabpanel" aria-labelledby="tab-confirmed" tabindex="0"></article>
<noscript><p>The video and downloads work without JavaScript. Enable JavaScript to inspect the recorded case panels, or <a href="recorded-runs.json">download their evidence</a>.</p></noscript>
<p class="scope">These are authored development cases, not a held-out benchmark. They do not establish production reliability or improvement over a rules baseline. No GTS systems or data were used.</p>
</section>
<section class="download" aria-labelledby="run-heading">
<p class="eyebrow">Run it yourself</p>
<h2 id="run-heading">Keep the cases. Change the agent.</h2>
<p>The dataset includes the runnable environment, thirteen authored cases, recorded evaluations and the application source. Start with the rules baseline below; it needs Python 3.11.4+, Git and Docker running.</p>
<pre class="command"><code>python -m pip install &#x27;agentenv-framework==0.9.1324&#x27;
python -m pip install &#x27;agentenv-hf @ git+https://github.com/earakely-scale/agentenv-hf-plugin@c116bf1b321fa33d671632b0ee1b77406dbe3b58&#x27;
agent-env hf run AlexSchwartzman/TradeOpsSim-AgentEnv --bundle tradeops-baseline --task late_fill_duplicate</code></pre>
<p>The baseline needs no model key. The <code>tradeops-agent</code> bundle supports a configured API model; follow its README for setup.</p>
<a class="button" href="https://huggingface.co/datasets/AlexSchwartzman/TradeOpsSim-AgentEnv" target="_blank" rel="noopener">Open environment &amp; instructions ↗</a>
</section>
</main>
<footer class="wrap"><span>TradeOpsSim · Recorded runs · Synthetic data</span><a href="README.md">Sources &amp; notices</a></footer>
<script id="recorded-data" type="application/json">[
{
"calls": [
{
"arguments": {},
"name": "tradeops_read_runbook"
},
{
"arguments": {},
"name": "tradeops_get_workspace"
},
{
"arguments": {
"order_key": "ORD-1001"
},
"name": "tradeops_recover_reports"
},
{
"arguments": {
"order_key": "ORD-1001",
"report_id": "R-E2"
},
"name": "tradeops_replay_execution"
},
{
"arguments": {
"order_key": "ORD-1001",
"report_id": "R-CXL"
},
"name": "tradeops_apply_order_status"
}
],
"capture": "captures/main-viewport.png",
"capture_alt": "Recorded synthetic TradeOpsSim result: Recover the late fill. Book it once.",
"checks": [
{
"actual": [
[
"SIM-X",
"2026-01-15",
"ALPHA",
"ORD-1001",
"E1"
],
[
"SIM-X",
"2026-01-15",
"ALPHA",
"ORD-1001",
"E2"
]
],
"expected": [
[
"SIM-X",
"2026-01-15",
"ALPHA",
"ORD-1001",
"E1"
],
[
"SIM-X",
"2026-01-15",
"ALPHA",
"ORD-1001",
"E2"
]
],
"id": "execution_membership",
"label": "Every supported execution is booked once in its own scope",
"passed": true
},
{
"actual": [
[
"SIM-X",
"2026-01-15",
"ALPHA",
"ORD-1001",
"E1",
400
],
[
"SIM-X",
"2026-01-15",
"ALPHA",
"ORD-1001",
"E2",
200
]
],
"expected": [
[
"SIM-X",
"2026-01-15",
"ALPHA",
"ORD-1001",
"E1",
400
],
[
"SIM-X",
"2026-01-15",
"ALPHA",
"ORD-1001",
"E2",
200
]
],
"id": "execution_quantities",
"label": "Booked quantities match immutable source evidence",
"passed": true
},
{
"actual": 2,
"expected": 2,
"id": "no_duplicate_bookings",
"label": "A scoped execution never appears twice",
"passed": true
},
{
"actual": {
"cancel_request_status": "confirmed",
"cum_qty": 600,
"leaves_qty": 0,
"status": "Cancelled"
},
"expected": {
"cancel_request_status": "confirmed",
"cum_qty": 600,
"leaves_qty": 0,
"status": "Cancelled"
},
"id": "order:ORD-1001",
"label": "ORD-1001: cumulative fills, terminal status, and remaining quantity",
"passed": true
},
{
"actual": [
"ORD-1001"
],
"expected": [
"ORD-1001"
],
"id": "order_membership",
"label": "No unrelated order is removed or invented",
"passed": true
},
{
"actual": [
[
"ORD-1001",
"ALPHA",
"SIM-X",
"2026-01-15",
"ORD-1001",
"SYNTH",
"Buy",
1000
]
],
"expected": [
[
"ORD-1001",
"ALPHA",
"SIM-X",
"2026-01-15",
"ORD-1001",
"SYNTH",
"Buy",
1000
]
],
"id": "order_scope_preserved",
"label": "Original account, instrument, side, and order quantity are preserved",
"passed": true
},
{
"actual": [
[
"ALPHA",
"SYNTH",
600
]
],
"expected": [
[
"ALPHA",
"SYNTH",
600
]
],
"id": "positions",
"label": "Positions preserve account scope and buy/sell direction",
"passed": true
},
{
"actual": [],
"expected": [],
"id": "exception_disposition",
"label": "Required unresolved issues remain open; resolved cases are not unnecessarily escalated",
"passed": true
},
{
"actual": true,
"expected": true,
"id": "exception_evidence",
"label": "Escalations cite observed evidence from the correct order",
"passed": true
},
{
"actual": true,
"expected": true,
"id": "exception_source_check",
"label": "The required source was queried before declaring its evidence incomplete",
"passed": true
},
{
"actual": true,
"expected": true,
"id": "response_provenance",
"label": "Cancellation dispositions are supported by observed authoritative responses",
"passed": true
},
{
"actual": [],
"expected": [],
"id": "safe_scope",
"label": "No cross-scope or contradictory financial mutation was attempted",
"passed": true
},
{
"actual": "1e8bf05b5076f445a22cba58815d4f746e2032a23177ea9673d9dea9afadab28",
"expected": "1e8bf05b5076f445a22cba58815d4f746e2032a23177ea9673d9dea9afadab28",
"id": "evidence_integrity",
"label": "Authoritative source records remain immutable",
"passed": true
},
{
"actual": true,
"expected": true,
"id": "evidence_provenance",
"label": "Every booking refers to observed source evidence",
"passed": true
}
],
"full_capture": "captures/main-full.png",
"metrics": [
[
"600",
"shares booked"
],
[
"400",
"shares cancelled"
],
[
"0",
"shares remaining"
],
[
"14/14",
"outcome checks passed"
]
],
"model": "claude-sonnet-5-5",
"run_id": "9216414cfa144869a6a9ce34b892ef9b",
"scenario_id": "late_fill_duplicate",
"summary": "Reconciled: every required outcome check passed.",
"title": "Recover the late fill. Book it once."
},
{
"calls": [
{
"arguments": {},
"name": "tradeops_read_runbook"
},
{
"arguments": {},
"name": "tradeops_get_workspace"
},
{
"arguments": {
"order_key": "ORD-1001"
},
"name": "tradeops_inspect_order"
},
{
"arguments": {
"order_key": "ORD-1001"
},
"name": "tradeops_recover_reports"
},
{
"arguments": {
"order_key": "ORD-1001",
"report_id": "R-E2"
},
"name": "tradeops_replay_execution"
},
{
"arguments": {
"steps": 2
},
"name": "tradeops_wait_for_updates"
},
{
"arguments": {
"order_key": "ORD-1001",
"source": "order_status_archive"
},
"name": "tradeops_recover_reports"
},
{
"arguments": {
"code": "MISSING_CANCEL_ACK",
"order_key": "ORD-1001",
"report_ids": [
"R-E1",
"R-E2",
"R-E2-DUP"
]
},
"name": "tradeops_open_exception"
}
],
"capture": "captures/escalated-viewport.png",
"capture_alt": "Recorded synthetic TradeOpsSim result: Keep missing evidence unresolved.",
"checks": [
{
"actual": [
[
"SIM-X",
"2026-01-15",
"ALPHA",
"ORD-1001",
"E1"
],
[
"SIM-X",
"2026-01-15",
"ALPHA",
"ORD-1001",
"E2"
]
],
"expected": [
[
"SIM-X",
"2026-01-15",
"ALPHA",
"ORD-1001",
"E1"
],
[
"SIM-X",
"2026-01-15",
"ALPHA",
"ORD-1001",
"E2"
]
],
"id": "execution_membership",
"label": "Every supported execution is booked once in its own scope",
"passed": true
},
{
"actual": [
[
"SIM-X",
"2026-01-15",
"ALPHA",
"ORD-1001",
"E1",
400
],
[
"SIM-X",
"2026-01-15",
"ALPHA",
"ORD-1001",
"E2",
200
]
],
"expected": [
[
"SIM-X",
"2026-01-15",
"ALPHA",
"ORD-1001",
"E1",
400
],
[
"SIM-X",
"2026-01-15",
"ALPHA",
"ORD-1001",
"E2",
200
]
],
"id": "execution_quantities",
"label": "Booked quantities match immutable source evidence",
"passed": true
},
{
"actual": 2,
"expected": 2,
"id": "no_duplicate_bookings",
"label": "A scoped execution never appears twice",
"passed": true
},
{
"actual": {
"cancel_request_status": "pending",
"cum_qty": 600,
"leaves_qty": 400,
"status": "PartiallyFilled"
},
"expected": {
"cancel_request_status": "pending",
"cum_qty": 600,
"leaves_qty": 400,
"status": "PartiallyFilled"
},
"id": "order:ORD-1001",
"label": "ORD-1001: cumulative fills, terminal status, and remaining quantity",
"passed": true
},
{
"actual": [
"ORD-1001"
],
"expected": [
"ORD-1001"
],
"id": "order_membership",
"label": "No unrelated order is removed or invented",
"passed": true
},
{
"actual": [
[
"ORD-1001",
"ALPHA",
"SIM-X",
"2026-01-15",
"ORD-1001",
"SYNTH",
"Buy",
1000
]
],
"expected": [
[
"ORD-1001",
"ALPHA",
"SIM-X",
"2026-01-15",
"ORD-1001",
"SYNTH",
"Buy",
1000
]
],
"id": "order_scope_preserved",
"label": "Original account, instrument, side, and order quantity are preserved",
"passed": true
},
{
"actual": [
[
"ALPHA",
"SYNTH",
600
]
],
"expected": [
[
"ALPHA",
"SYNTH",
600
]
],
"id": "positions",
"label": "Positions preserve account scope and buy/sell direction",
"passed": true
},
{
"actual": [
[
"ORD-1001",
"MISSING_CANCEL_ACK"
]
],
"expected": [
[
"ORD-1001",
"MISSING_CANCEL_ACK"
]
],
"id": "exception_disposition",
"label": "Required unresolved issues remain open; resolved cases are not unnecessarily escalated",
"passed": true
},
{
"actual": true,
"expected": true,
"id": "exception_evidence",
"label": "Escalations cite observed evidence from the correct order",
"passed": true
},
{
"actual": true,
"expected": true,
"id": "exception_source_check",
"label": "The required source was queried before declaring its evidence incomplete",
"passed": true
},
{
"actual": true,
"expected": true,
"id": "response_provenance",
"label": "Cancellation dispositions are supported by observed authoritative responses",
"passed": true
},
{
"actual": [],
"expected": [],
"id": "safe_scope",
"label": "No cross-scope or contradictory financial mutation was attempted",
"passed": true
},
{
"actual": "ed4d85c6de424e4e48bd46a88a2e78970edd3c7c3d7c7bdc124c550ac36c2f95",
"expected": "ed4d85c6de424e4e48bd46a88a2e78970edd3c7c3d7c7bdc124c550ac36c2f95",
"id": "evidence_integrity",
"label": "Authoritative source records remain immutable",
"passed": true
},
{
"actual": true,
"expected": true,
"id": "evidence_provenance",
"label": "Every booking refers to observed source evidence",
"passed": true
}
],
"full_capture": "captures/escalated-full.png",
"metrics": [
[
"600",
"shares booked"
],
[
"400",
"shares unresolved"
],
[
"1",
"open evidence request"
],
[
"14/14",
"outcome checks passed"
]
],
"model": "claude-sonnet-5-5",
"run_id": "bb397ea01db84e39aa8cd630589a4e53",
"scenario_id": "missing_cancel_ack",
"summary": "Correctly escalated: available evidence is reconciled and the unresolved issue remains explicit.",
"title": "Keep missing evidence unresolved."
}
]
</script>
</body>
</html>