151 lines
3.5 KiB
JSON
151 lines
3.5 KiB
JSON
{
|
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
"title": "SimulationScorecard",
|
|
"description": "Output contract for sim runs. See docs/12-sim-scorecard.md.",
|
|
"type": "object",
|
|
"required": [
|
|
"scenario",
|
|
"capture_mean",
|
|
"churn_mean",
|
|
"intervention_cost_total",
|
|
"peak_deviation_bps"
|
|
],
|
|
"properties": {
|
|
"scenario": {
|
|
"type": "string"
|
|
},
|
|
"runId": {
|
|
"type": "string"
|
|
},
|
|
"capture_mean": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 1
|
|
},
|
|
"capture_p95": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 1
|
|
},
|
|
"churn_mean": {
|
|
"type": "number",
|
|
"minimum": 0
|
|
},
|
|
"churn_p95": {
|
|
"type": "number",
|
|
"minimum": 0
|
|
},
|
|
"churn_max": {
|
|
"type": "number",
|
|
"minimum": 0
|
|
},
|
|
"intervention_cost_total": {
|
|
"type": "number",
|
|
"minimum": 0
|
|
},
|
|
"intervention_cost_per_1M_volume": {
|
|
"type": "number",
|
|
"minimum": 0
|
|
},
|
|
"peak_deviation_bps": {
|
|
"type": "number"
|
|
},
|
|
"reflexive_route_count": {
|
|
"type": "integer",
|
|
"minimum": 0
|
|
},
|
|
"drain_half_life_epochs": {
|
|
"type": "object",
|
|
"description": "Per (token, chain): epochs until PMM inventory halves under routing pressure",
|
|
"additionalProperties": {
|
|
"type": "number",
|
|
"minimum": 0
|
|
}
|
|
},
|
|
"path_concentration_index": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 1,
|
|
"description": "HHI on path shares; high = flow concentrated, low = diversified"
|
|
},
|
|
"arb_volume_total": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"description": "Total volume traded by arb step"
|
|
},
|
|
"arb_profit_total": {
|
|
"type": "number",
|
|
"description": "Total approximate arb profit after fees/gas"
|
|
},
|
|
"peak_deviation_bps_pre_arb": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"description": "Max pool deviation before arb"
|
|
},
|
|
"peak_deviation_bps_post_arb": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"description": "Max pool deviation after arb"
|
|
},
|
|
"peak_deviation_bps_post_bot": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"description": "Max pool deviation after bot"
|
|
},
|
|
"intervention_cost_inject_total": {
|
|
"type": "number",
|
|
"minimum": 0
|
|
},
|
|
"intervention_cost_withdraw_total": {
|
|
"type": "number",
|
|
"minimum": 0
|
|
},
|
|
"intervention_cost_by_chain": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "object",
|
|
"properties": {
|
|
"inject": {
|
|
"type": "number"
|
|
},
|
|
"withdraw": {
|
|
"type": "number"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"worst_pool_diagnostic": {
|
|
"type": "object",
|
|
"description": "Last-epoch worst pool at pre_arb, post_arb, post_bot",
|
|
"properties": {
|
|
"pre_arb": {
|
|
"type": "object",
|
|
"properties": {
|
|
"key": {},
|
|
"deviation_bps": {},
|
|
"I_T_ratio": {},
|
|
"D_effective": {}
|
|
}
|
|
},
|
|
"post_arb": {
|
|
"type": "object",
|
|
"properties": {
|
|
"key": {},
|
|
"deviation_bps": {},
|
|
"I_T_ratio": {},
|
|
"D_effective": {}
|
|
}
|
|
},
|
|
"post_bot": {
|
|
"type": "object",
|
|
"properties": {
|
|
"key": {},
|
|
"deviation_bps": {},
|
|
"I_T_ratio": {},
|
|
"D_effective": {}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} |