Commit Graph
79 Commits
Author SHA1 Message Date
Hermes Agent 7dc2f65455 fix(ops): make release provenance gate fail closed 2026-09-13 16:34:44 +09:00
copilot-swe-agent[bot]andgenichin 8378e03dcc perf(ops): streamline log capture and git error reporting
Co-authored-by: genichin <4282227+genichin@users.noreply.github.com>
2026-09-13 16:12:55 +09:00
copilot-swe-agent[bot]andgenichin 8d9d627b1c fix(ops): harden provenance gate path and command parsing
Co-authored-by: genichin <4282227+genichin@users.noreply.github.com>
2026-09-13 16:12:55 +09:00
copilot-swe-agent[bot]andgenichin f3a6b2c410 feat(ops): add release provenance gate and audit checkout isolation
Co-authored-by: genichin <4282227+genichin@users.noreply.github.com>
2026-09-13 16:12:55 +09:00
copilot-swe-agent[bot]andgenichin 2b5d9043b9 chore: plan for review blockers follow-up
Co-authored-by: genichin <4282227+genichin@users.noreply.github.com>
2026-09-13 06:21:10 +00:00
copilot-swe-agent[bot]andgenichin 8b1de8e26a Fence unmanaged lifecycle by snapshot time
Co-authored-by: genichin <4282227+genichin@users.noreply.github.com>
2026-09-13 05:54:51 +00:00
copilot-swe-agent[bot]andgenichin 84d81658a1 Resolve main merge and add unmanaged store race tests
Co-authored-by: genichin <4282227+genichin@users.noreply.github.com>
2026-09-13 02:58:18 +00:00
copilot-swe-agent[bot]andgenichin c73e382b70 Merge remote-tracking branch 'origin/main' into copilot/feat-reconcile-unmanaged-position-durable-lifecycl
# Conflicts:
#	.proofline/criteria/ac-0029.md
#	.proofline/identities.json
#	tests/adapters/persistence/test_migration_and_drift.py

Co-authored-by: genichin <4282227+genichin@users.noreply.github.com>
2026-09-13 02:53:22 +00:00
copilot-swe-agent[bot]andgenichin 591db7adb7 Fix unmanaged reconciliation review blockers
Co-authored-by: genichin <4282227+genichin@users.noreply.github.com>
2026-09-13 02:21:37 +00:00
genichin 3cb0fdc303 Merge pull request #90 from fourblocks2020/copilot/bug-ledger-shared-outbox-consumption
Isolate ledger outbox delivery by instance and add lease-based claims
2026-09-13 10:48:57 +09:00
Hermes Agent 762a953c95 fix: fence ledger outbox claims by instance 2026-09-13 09:41:51 +09:00
copilot-swe-agent[bot]andgenichin 084e05a97d feat(ops): track broker balance worker failure lifecycle and backoff
Co-authored-by: genichin <4282227+genichin@users.noreply.github.com>
2026-09-12 13:33:12 +00:00
copilot-swe-agent[bot]andgenichin f9284d1de8 fix: preserve unmanaged first-seen timestamps
Co-authored-by: genichin <4282227+genichin@users.noreply.github.com>
2026-09-12 13:33:05 +00:00
copilot-swe-agent[bot]andgenichin f801c53e0c test: cover targeted and expired ledger claims
Co-authored-by: genichin <4282227+genichin@users.noreply.github.com>
2026-09-12 13:30:50 +00:00
copilot-swe-agent[bot]andgenichin 31d6e5c02b test: cover stale ledger outbox lease updates
Co-authored-by: genichin <4282227+genichin@users.noreply.github.com>
2026-09-12 13:27:27 +00:00
copilot-swe-agent[bot]andgenichin 09b1b4f4c3 fix: isolate ledger outbox delivery by instance
Co-authored-by: genichin <4282227+genichin@users.noreply.github.com>
2026-09-12 13:24:58 +00:00
copilot-swe-agent[bot]andgenichin fe51d211d9 feat: persist unmanaged position lifecycle state
Co-authored-by: genichin <4282227+genichin@users.noreply.github.com>
2026-09-12 13:24:51 +00:00
copilot-swe-agent[bot]andgenichin 45a5e4157d fix: preserve multi-cause reconcile warnings and align slot blocking
Co-authored-by: genichin <4282227+genichin@users.noreply.github.com>
2026-09-12 13:22:40 +00:00
Hermes Agent 06c3f06b5d fix: reconcile KIS correction order chains 2026-09-12 22:12:19 +09:00
copilot-swe-agent[bot]andgenichin f3fbc179b0 fix(kis): collect all parent candidates before child evaluation; boundary case tests
Co-authored-by: genichin <4282227+genichin@users.noreply.github.com>
2026-09-01 13:35:12 +00:00
copilot-swe-agent[bot]andgenichin 584e08eb36 fix(execution): bind parent row to request identity before child evaluation; add parent mismatch and race tests
Co-authored-by: genichin <4282227+genichin@users.noreply.github.com>
2026-09-01 13:21:20 +00:00
copilot-swe-agent[bot]andgenichin 65df10542b fix(execution): KIS child cancel identity binding, sanitized logging, PG cancel SQL tests
Co-authored-by: genichin <4282227+genichin@users.noreply.github.com>
2026-09-01 12:06:45 +00:00
copilot-swe-agent[bot]andgenichin f0ac909958 fix(execution): cancel SQL nullable type error, KIS child cancel detection, worker exception logging
Co-authored-by: genichin <4282227+genichin@users.noreply.github.com>
2026-09-01 03:33:38 +00:00
Hermes Agent 3854aabd0d fix strategy state persistence corrections 2026-08-29 16:11:02 +09:00
Hermes Agent 4699de61cc feat(strategy-state): persist instance-scoped slot maps 2026-08-29 15:11:43 +09:00
copilot-swe-agent[bot]andgenichin 21f8fdd4b6 fix(ac-0024): injective C identity via SHA-256 length-prefix digest + PostgreSQL migration/round-trip tests
Co-authored-by: genichin <4282227+genichin@users.noreply.github.com>
2026-08-26 00:38:02 +00:00
copilot-swe-agent[bot]andgenichin 48dfc3e76f fix: harden skipped ledger resolution paths
Co-authored-by: genichin <4282227+genichin@users.noreply.github.com>
2026-08-24 13:38:04 +00:00
copilot-swe-agent[bot]andgenichin 76cde2edd0 feat: persist skipped ledger fills
Co-authored-by: genichin <4282227+genichin@users.noreply.github.com>
2026-08-24 13:23:06 +00:00
Hermes Agent 9da8c27e52 fix(ledger): retain SOR fills with unknown venue 2026-08-24 09:47:21 +09:00
Hermes Agent 359ea098ff fix: enforce actual venue persistence contract 2026-08-19 12:53:56 +09:00
Hermes Agent 7366cadf03 fix: preserve SOR execution venue separately 2026-08-19 12:48:05 +09:00
Hermes Agent 15aeae6930 fix: converge broker failures without retry 2026-08-19 11:29:26 +09:00
Hermes Agent 843df1d6f1 fix(execution): fail closed on unresolved orders 2026-08-14 15:29:31 +09:00
Hermes Agent 147873cb5d feat(execution): reconcile timed-out orders safely 2026-08-14 15:15:52 +09:00
Hermes Agent c0f36946a3 test: cover KIS pagination consumer seams 2026-08-10 00:27:10 +09:00
Hermes Agent 0fa8f39be9 feat: paginate KIS balance inquiries 2026-08-10 00:11:04 +09:00
jordan 56b35b257b feat: own current KIS daily fill contract in Core 2026-07-29 21:46:42 +09:00
jordan 611805dcec fix: close broker uncertainty audit gaps 2026-07-29 17:53:39 +09:00
jordan 0266992238 feat: add bounded KIS account read recovery 2026-07-29 17:40:01 +09:00
jordan 3dd8eefc92 fix: persist uncertain cancel outcomes 2026-07-29 17:17:14 +09:00
jordan a656350a35 feat: resolve and persist actual order venue 2026-07-29 17:10:32 +09:00
jordan 479cb39a7e feat: propagate intent venue through execution 2026-07-29 16:55:20 +09:00
jordan d6c2e2d28a fix: reconcile KIS exchange rejections 2026-07-28 13:29:43 +09:00
jordan 24c42d1c92 fix: reconcile ambiguous KIS order submissions 2026-07-28 11:17:06 +09:00
jordan b72bf9f394 feat: isolate strategy-owned KIS balances 2026-07-27 11:39:07 +09:00
Hermes Agent 81a853a314 feat(reconcile): safely seed canonical cost basis 2026-07-17 09:57:08 +09:00
Hermes Agent e95bd4f8b2 test(reconciliation): verify repository lookup parity 2026-07-15 08:18:32 +09:00
Hermes Agent 216e462df4 fix(broker): enforce operator broker truth boundary 2026-07-15 08:07:21 +09:00
genichinandClaude Fable 5 ee3dc83a93 feat(broker): KIS venue parameterization — OrderRequest.venue + EXCG_ID_DVSN_CD (REQ-117/118, BAT-056)
- OrderRequest.venue: str = "KRX" additive 추가 (기존 위치 인수 순서 불변)
- BrokerPort.cancel_order: venue: str = "KRX" 파라미터 추가
- BrokerPort.get_current_price: market: str = "J" 파라미터 추가
- KISBroker.submit_order: EXCG_ID_DVSN_CD=req.venue 항상 명시 전송
- KISBroker.cancel_order: EXCG_ID_DVSN_CD=venue 항상 명시 전송
- KISBroker.get_current_price: FID_COND_MRKT_DIV_CODE=market 파라미터화
- PaperBroker: cancel_order/get_current_price 시그니처 정합 (venue/market 수신·무시)
- poll_fill TR 유지 (TTTC8001R) — NXT 체결 포함 여부 미확인 open item (코드 주석 기록)
- tests/adapters/broker/test_venue.py: REQ-117 AC-1~5 + REQ-118 AC-1~8 신규 17개
- docs: interface-contract.md OrderRequest/BrokerPort 섹션 + change log 추가
- docs: runtime-flows.md venue 전달 경로 명시 + change log 추가

결과: 794 passed, 47 skipped (기존 777+47 대비 신규 17개 추가 전부 통과)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VHtM5Ws1HKCKQ4JGi6GRb5
2026-07-06 23:24:51 +09:00
genichinandClaude Fable 5 690071afad feat(slots): additive strategy fields + filter (REQ-116, BAT-055)
trex.slots.req wire 계약 additive 확장 — 기존 소비자(orb/tsl) backward compatible.

- PortfolioItem: strategy_name(Optional[str]) + markets(list) 필드 추가
- hub_read.py: get_portfolios()에서 strategy_name/markets 파싱 추가 (safe default)
- slot_to_dict(): strategy_name/strategy_params/markets 3필드 row에 추가 (SnapshotStore→PortfolioItem 경유)
- make_slots_rpc_handler(): strategy 요청 파라미터 → Python 레벨 후처리 필터 (available_slots 계산 이후, REQ-073 AC-6 불변)
- 테스트: AC-1~8 전수 + hub_read 파싱 + 회귀 갱신 (777 passed, 47 skipped)
- docs/interface-contract.md: 요청 파라미터·응답 행 스키마·소스 테이블·REQ-074 AC-5 주석 갱신

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VHtM5Ws1HKCKQ4JGi6GRb5
2026-07-04 11:10:01 +09:00