test: make execution gate worktree portable

This commit is contained in:
jordan
2026-07-29 20:02:33 +09:00
parent bb209dd007
commit 608eff8698
3 changed files with 11 additions and 6 deletions
@@ -12,6 +12,7 @@
- `trex_core/domain/capital_allocation.py` - `trex_core/domain/capital_allocation.py`
- `tests/domain/test_capital_allocation.py` - `tests/domain/test_capital_allocation.py`
- `tests/integration/test_kis_submission_recovery_virtual.py` - `tests/integration/test_kis_submission_recovery_virtual.py`
- `validation/trading-execution-adapter.json`
- `docs/project-structure.md` - `docs/project-structure.md`
- `docs/discovery/dcy-042_20260729_shared-account-capital-allocation-policy.md` - `docs/discovery/dcy-042_20260729_shared-account-capital-allocation-policy.md`
- `docs/srs/Interface/req-127_shared-account-capital-allocation-policy.md` - `docs/srs/Interface/req-127_shared-account-capital-allocation-policy.md`
@@ -27,6 +28,8 @@
5. 로컬 KIS 어댑터의 중복 계산을 Core 정책 호출로 대체했다. 5. 로컬 KIS 어댑터의 중복 계산을 Core 정책 호출로 대체했다.
6. 선행 Core 브랜치의 가상 KIS 복구 테스트 시계를 거래 가능 시각으로 고정해 6. 선행 Core 브랜치의 가상 KIS 복구 테스트 시계를 거래 가능 시각으로 고정해
야간 실행에서도 같은 주문 복구 경로를 검증하도록 했다. 야간 실행에서도 같은 주문 복구 경로를 검증하도록 했다.
7. Core 공용 인증의 pytest 단계를 `uv --with pytest`로 고정해 격리 작업트리의
로컬 가상환경 상태와 무관하게 재현되도록 했다.
## Validation ## Validation
@@ -35,6 +35,8 @@
→fault injection→restart recovery→ledger reconcile 1~7단계 PASS. →fault injection→restart recovery→ledger reconcile 1~7단계 PASS.
- 선행 Core 가상 KIS 복구 3건은 거래 가능 시각을 고정해 야간 회귀에서도 - 선행 Core 가상 KIS 복구 3건은 거래 가능 시각을 고정해 야간 회귀에서도
주문 결과불명·재시작·거부 후 재시도 경로가 결정적으로 통과한다. 주문 결과불명·재시작·거부 후 재시도 경로가 결정적으로 통과한다.
- Core 공용 인증은 테스트 도구를 명시적으로 설치해 격리 작업트리에서도 같은
1~7단계를 실행한다.
- Manual: - Manual:
- Core는 순수 계산, 어댑터는 현금·호가, 전략은 후보·슬롯·최종 수량, - Core는 순수 계산, 어댑터는 현금·호가, 전략은 후보·슬롯·최종 수량,
Portfolio Hub는 원장 정본으로 책임 경계를 대조했다. Portfolio Hub는 원장 정본으로 책임 경계를 대조했다.
+6 -6
View File
@@ -7,32 +7,32 @@
"stages": [ "stages": [
{ {
"id": "logic", "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"], "command": ["uv", "run", "--with", "pytest", "pytest", "-q", "tests/application/test_execution.py", "tests/application/test_account_snapshot.py", "tests/application/test_asset_centric_admission.py"],
"timeout_seconds": 300 "timeout_seconds": 300
}, },
{ {
"id": "regression", "id": "regression",
"command": ["uv", "run", "pytest", "-q"], "command": ["uv", "run", "--with", "pytest", "pytest", "-q"],
"timeout_seconds": 900 "timeout_seconds": 900
}, },
{ {
"id": "virtual_contract", "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"], "command": ["uv", "run", "--with", "pytest", "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 "timeout_seconds": 300
}, },
{ {
"id": "virtual_e2e", "id": "virtual_e2e",
"command": ["uv", "run", "pytest", "-q", "tests/integration/test_kis_submission_recovery_virtual.py"], "command": ["uv", "run", "--with", "pytest", "pytest", "-q", "tests/integration/test_kis_submission_recovery_virtual.py"],
"timeout_seconds": 300 "timeout_seconds": 300
}, },
{ {
"id": "fault_injection", "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"], "command": ["uv", "run", "--with", "pytest", "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 "timeout_seconds": 300
}, },
{ {
"id": "restart_recovery", "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"], "command": ["uv", "run", "--with", "pytest", "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 "timeout_seconds": 300
}, },
{ {