78 lines
2.8 KiB
JSON
78 lines
2.8 KiB
JSON
{
|
|
"schema_version": "trading-validation-project/v1",
|
|
"project_id": "trex-core-execution",
|
|
"project_root": "..",
|
|
"adapter_version": "v2",
|
|
"require_clean_worktree": true,
|
|
"stages": [
|
|
{
|
|
"id": "logic",
|
|
"command": ["uv", "run", "pytest", "-q", "tests/application/test_execution.py", "tests/application/test_account_snapshot.py", "tests/application/test_asset_centric_admission.py"],
|
|
"timeout_seconds": 300
|
|
},
|
|
{
|
|
"id": "regression",
|
|
"command": ["uv", "run", "pytest", "-q"],
|
|
"timeout_seconds": 900
|
|
},
|
|
{
|
|
"id": "virtual_contract",
|
|
"command": ["uv", "run", "pytest", "-q", "tests/adapters/broker/test_kis.py", "tests/adapters/broker/test_kis_cancel.py", "tests/adapters/broker/test_venue.py", "tests/adapters/broker/test_ownership.py", "tests/runtime/test_account_snapshot_config.py"],
|
|
"timeout_seconds": 300
|
|
},
|
|
{
|
|
"id": "virtual_e2e",
|
|
"command": ["uv", "run", "pytest", "-q", "tests/integration/test_kis_submission_recovery_virtual.py"],
|
|
"timeout_seconds": 300
|
|
},
|
|
{
|
|
"id": "fault_injection",
|
|
"command": ["uv", "run", "pytest", "-q", "tests/integration/test_kis_submission_recovery_virtual.py", "tests/adapters/broker/test_kis.py", "tests/application/test_account_snapshot.py", "tests/application/test_execution_cancel.py"],
|
|
"timeout_seconds": 300
|
|
},
|
|
{
|
|
"id": "restart_recovery",
|
|
"command": ["uv", "run", "pytest", "-q", "tests/integration/test_kis_submission_recovery_virtual.py", "tests/application/test_execution.py", "tests/application/test_execution_cancel.py", "tests/application/test_venue_intent_flow.py"],
|
|
"timeout_seconds": 300
|
|
},
|
|
{
|
|
"id": "ledger_reconcile",
|
|
"command": ["uv", "run", "python", "scripts/virtual_execution_final_state.py"],
|
|
"timeout_seconds": 300,
|
|
"required_files": ["${RUN_DIR}/ledger_reconcile/final_state.json"],
|
|
"json_checks": [
|
|
{
|
|
"file": "${RUN_DIR}/ledger_reconcile/final_state.json",
|
|
"pointer": "/status",
|
|
"equals": "PASS"
|
|
},
|
|
{
|
|
"file": "${RUN_DIR}/ledger_reconcile/final_state.json",
|
|
"pointer": "/open_orders",
|
|
"equals": 0
|
|
},
|
|
{
|
|
"file": "${RUN_DIR}/ledger_reconcile/final_state.json",
|
|
"pointer": "/positions",
|
|
"equals": 0
|
|
},
|
|
{
|
|
"file": "${RUN_DIR}/ledger_reconcile/final_state.json",
|
|
"pointer": "/duplicate_orders",
|
|
"equals": 0
|
|
},
|
|
{
|
|
"file": "${RUN_DIR}/ledger_reconcile/final_state.json",
|
|
"pointer": "/ledger_consistent",
|
|
"equals": true
|
|
},
|
|
{
|
|
"file": "${RUN_DIR}/ledger_reconcile/final_state.json",
|
|
"pointer": "/real_order_allowed",
|
|
"equals": false
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|