Files
cross-chain-pmm-lps/config/scorecard-schema.json
defiQUG 168dba25d9 chore(sim): refresh deployment status, pool matrix, schemas, and scenario scripts
- deployment-status and pool-matrix snapshots aligned with validate-deployment-status.cjs.
- Micro-trade / scorecard docs and run-scenario wiring.

Made-with: Cursor
2026-04-07 22:56:16 -07:00

175 lines
4.1 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"
}
}
}
},
"micro_trade_count": {
"type": "integer",
"minimum": 0,
"description": "Count of support-lane micro-trades executed during the run"
},
"micro_trade_buy_count": {
"type": "integer",
"minimum": 0
},
"micro_trade_sell_count": {
"type": "integer",
"minimum": 0
},
"micro_trade_volume_total": {
"type": "number",
"minimum": 0,
"description": "Base-token units traded through the support lane"
},
"micro_trade_gas_cost_total": {
"type": "number",
"minimum": 0,
"description": "Abstract gas budget consumed by support trades"
},
"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": {}
}
}
}
}
}
}