Files
cross-chain-pmm-lps/config/scorecard-schema.json
2026-03-02 12:14:07 -08:00

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": {}
}
}
}
}
}
}