docs(release): REL-001 released → feedback-captured (BAT-001~008 released)
운영자(Hermes Agent) 실 환경 배포 evidence(revision71faa23, host 86ba33f2997a, broker=kis LIVE, 2026-06-06T11:18:16Z) 반영: - Release Execution Evidence 기재(배포 facts + app-service profile checks + 동일 revision71faa23pre-deploy 게이트 재현 보강). - Rollback Outcome 의미 정정: 운영자 보고 "rollback yes"는 배포 롤백이 아니라 휴장일(현충일) KIS 거절에 따른 slot pending_buy→idle 정상 복구(매수 거부 경로 smoke 성공). - capture-release-feedback: release feedback-captured 전환, 포함 batch BAT-001~008 released 전환. - 잔여(차기 거래일 실증): ledger flush(fill→ledger), 마이그레이션 명시 로그, 포지션 정합/warning 마스킹 결과 로그 — Feedback Handoff 기록. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -8,5 +8,5 @@
|
||||
|
||||
| REL ID | Profile | Status | Included Batch | Discovery/REQ Input | Link |
|
||||
| --- | --- | --- | --- | --- | --- |
|
||||
| REL-001 | app-service | confirmed | BAT-001~008 | Discovery: orb-v1 전략 모듈, 부분 매도(#5) / Change-req: REQ-030 옵션 D, 전략 필드 실데이터, 이벤트 publisher idle 견고성, paper execution_id Redis(#4) | [rel-001](rel-001_20260606_trex-core-slot-core-baseline.md) |
|
||||
| REL-001 | app-service | feedback-captured | BAT-001~008 | Discovery: orb-v1 전략 모듈, 부분 매도(#5) / Change-req: REQ-030 옵션 D, 전략 필드 실데이터, 이벤트 publisher idle 견고성, paper execution_id Redis(#4) | [rel-001](rel-001_20260606_trex-core-slot-core-baseline.md) |
|
||||
| REL-002 | tooling | released | BAT-009 | Change-req: paper execution_id Redis(#4) | [rel-002](rel-002_20260606_paper-broker-env-tuning.md) |
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# REL-001: trex-core slot-core baseline (daemon + broker + ledger + RabbitMQ transport + portfolio-hub snapshot read)
|
||||
|
||||
- Status: confirmed
|
||||
- Status: feedback-captured
|
||||
- Profile: app-service
|
||||
- Included Batch: BAT-001, BAT-002, BAT-003, BAT-004, BAT-005, BAT-006, BAT-007, BAT-008
|
||||
|
||||
@@ -49,58 +49,64 @@
|
||||
|
||||
### Deployment Facts
|
||||
- Executed At:
|
||||
- <배포 시작 시각>
|
||||
- 2026-06-06T11:18:16Z (운영자 Hermes Agent 기동)
|
||||
- Completed At:
|
||||
- <배포 완료 시각>
|
||||
- 2026-06-06T11:18:16Z (데몬 기동 + RabbitMQ 연결 + intent→KIS→rollback 흐름 검증 완료)
|
||||
- Environment:
|
||||
- <배포 대상 환경>
|
||||
- Host: 86ba33f2997a / Workdir: /root/release/trex-core / Runtime: `.venv/bin/trex-core-daemon` (실 KIS 계좌 연동, `broker=kis` LIVE)
|
||||
- Operator:
|
||||
- <배포 수행자>
|
||||
- Hermes Agent (운영자) — evidence 본 release 문서로 전달, Claude Code 세션이 문서화/검증 보강.
|
||||
- Revision or Artifact:
|
||||
- <커밋 SHA 또는 배포 artifact 식별자>
|
||||
- 71faa23 (현재 origin/main HEAD). REL-001 코드(BAT-001~008)는 이 revision의 부분집합이며 BAT-009(REL-002)까지 포함된 빌드로 배포됨.
|
||||
- Commands or Procedure:
|
||||
- <실행 명령 또는 배포 절차 요약>
|
||||
- `.env` 로드 후 `.venv/bin/trex-core-daemon` 기동 → RabbitMQ 연결 및 워커 실행 확인 → RabbitMQ RPC 로 intent 수신 → KIS 제출 → (휴장일) 거절 → slot rollback 흐름 검증.
|
||||
|
||||
### Profile-Specific Checks
|
||||
- app-service:
|
||||
- Health Endpoint:
|
||||
- <HTTP health 엔드포인트 없음(RabbitMQ transport) → 큐 declare readiness 폴링 결과와 확인 시각>
|
||||
- HTTP health 없음(RabbitMQ transport). 운영자 확인: 데몬 기동 후 RabbitMQ 연결 성립 로그 확인 = 큐 declare readiness 동등 신호. 개별 큐/exchange declare 완료 로그는 부분 확인(코드상 `trex.snapshot.req`/`trex.intent.req`/`trex.pause.req`/`trex.events`/`trex.events.dlq` 선언, RabbitMQ 연결 로그 확인됨).
|
||||
- Startup Log Fields:
|
||||
- <app, event, command, run_id 확인 결과>
|
||||
- 6 워커 스레드 구성 확인(trex-execution / trex-ledger / trex-intent-rpc / trex-snapshot-rpc / trex-pause-rpc / trex-snapshot-scheduler). 데몬 정상 기동 + RabbitMQ 연결 성공 로그.
|
||||
- Request Log Fields:
|
||||
- <request_id(RPC correlation_id) 포함 여부와 확인 결과>
|
||||
- intent RPC 가 admitted 처리됨(correlation_id 기반 RPC 동작 확인). 개별 request_id 로그 필드는 부분 확인.
|
||||
- Smoke or Manual Verification:
|
||||
- <배포 후 재실행한 snapshot/pause RPC 검증과 결과>
|
||||
- 배포 시점 운영자 검증: RabbitMQ → intent 수신 → execution loop → KIS 실제 제출 → KIS 거절 → slot `pending_buy→idle` 복구 흐름 의도대로 동작 확인(아래 Rollback Outcome).
|
||||
- 보강(동일 revision 71faa23, Claude Code 세션): snapshot RPC `degraded=false` + universe 수신 확인(이전 검증), pause→resume RPC live 검증(이 세션), paper e2e 전체 그룹(admission/read + broker-behavior) 통과. **pre-deploy 테스트 게이트 재현**: 단위 166 passed / 23 skipped, 메시징 통합 16 passed, `ruff check` All passed. (KIS sandbox 1건은 `.env=LIVE` 산물로 deselect — 코드 결함 아님.)
|
||||
|
||||
### Rollback Outcome
|
||||
- Rollback Required:
|
||||
- <yes 또는 no>
|
||||
- no (배포/서비스 롤백은 발생하지 않음 — 데몬은 계속 정상 가동)
|
||||
- Rollback Trigger:
|
||||
- <발생 시 원인, 없으면 none>
|
||||
- none (배포 차원의 롤백 트리거 없음). 참고: 운영자가 보고한 "rollback yes"는 **배포 롤백이 아니라 slot 상태 머신의 정상 거동**이다 — KIS 가 휴장일(2026-06-06 현충일)로 주문을 거절("장운영일자가 주문일과 상이합니다")하자, intent 는 admitted 였던 슬롯이 `pending_buy→idle` 로 복구된 것. broker_order_id / ledger_outbox 체결 흔적 없음 = 정상(체결 안 됨). 이는 매수 거부 경로 smoke 의 **성공 관찰**이다.
|
||||
- Rollback Action:
|
||||
- <수행한 조치, 없으면 none>
|
||||
- none (배포 유지). slot-level rollback 은 설계대로 자동 수행됨(REQ-011~015 실행 루프).
|
||||
|
||||
### Release Decision Evidence
|
||||
- Released Decision:
|
||||
- <released 전환 여부>
|
||||
- yes (confirmed → released)
|
||||
- Rationale:
|
||||
- <released 전환 판단 근거>
|
||||
- 실 환경 배포 + 데몬 정상 기동(6 워커) + RabbitMQ 연결 성공 + 핵심 slot-core 경로(RabbitMQ → intent admitted → execution loop → KIS 실제 제출 → 거절 → slot rollback) live 동작 확인. app-service profile 검증 바(큐 declare readiness=health 동등, startup/RPC 로그, live RPC smoke) 충족. pre-deploy 테스트/ruff 게이트는 동일 revision(71faa23) 재현으로 보강.
|
||||
- **잔여 항목(blocker 아님, 차기 거래일 확인 대상)**: (a) ledger outbox flush(fill→ledger 기록, BAT-006/REQ-017~020)는 휴장일 거절로 **실 체결이 없어 운영 미실증**(paper e2e 에서만 검증). (b) DB 마이그레이션 001~003 적용은 명시 로그 부재 — 단 데몬 boot `apply_migrations` + intent admitted(슬롯 테이블 기록 성공)로 스키마 존재 implicit 확인. (c) 포지션 정합/warning 마스킹 개별 결과 로그 부분 확인(루프는 동작).
|
||||
- Recorded By:
|
||||
- <기록자>
|
||||
- Hermes Agent (released 결정) / Claude Code 세션 (evidence 문서화·게이트 보강)
|
||||
- Recorded At:
|
||||
- <기록 시각>
|
||||
- 2026-06-06T11:18:16Z (운영자 결정) / 2026-06-07 (KST, 문서 반영)
|
||||
|
||||
## Feedback Handoff
|
||||
> 주의: 아래는 **배포 전(pre-deployment) paper-broker e2e/smoke 관찰**이다. REL-001 은 아직 `released` 가 아니므로(Release Execution Evidence 미기재) release status 는 `confirmed` 유지하며, capture-release-feedback 의 status 전환(`feedback-captured` / batch `released`)은 실제 배포 후 수행한다.
|
||||
> 주의: 아래 Observation Summary 의 1~2번 항목은 **배포 전(pre-deployment) paper-broker e2e/smoke 관찰**이다. REL-001 은 2026-06-06 실 환경 배포 완료로 status `released` 전환됨(Release Execution Evidence 참조). 남은 거버넌스 단계는 `capture-release-feedback`(release `feedback-captured` 전환 + 포함 batch BAT-001~008 `released` 갱신 + 아래 후속 입력 정리)이다.
|
||||
>
|
||||
> 배포 후(post-deployment) 잔여 확인 대상(차기 거래일): (a) **ledger outbox flush(fill→ledger)** — 휴장일 거절로 실 체결이 없어 운영 미실증(paper e2e 에서만 검증). 다음 거래일 실 체결 1건으로 확인 필요. (b) DB 마이그레이션 001~003 명시 적용 로그 확보. (c) 포지션 정합/warning 마스킹 개별 결과 로그 확보.
|
||||
|
||||
- Observation Summary:
|
||||
- paper-broker e2e (2026-06-06): admission/read 그룹(멱등성·매수 거부 no_idle_slot·매도 거부 slot_not_found·pause/resume RPC·pause 는 intent 비차단·snapshot buyable 마스킹·happy-path 이벤트 캡처)과 broker-behavior 그룹(거부 롤백 `idle→pending_buy→idle`·지연 체결 `+3.7s`·부분 체결 qty 누적 `+2.5s`) 전부 통과. snapshot/pause RPC envelope·ledger outbox·슬롯 전이 정상.
|
||||
- 견고성 관찰: 데몬 부팅 후 오래 idle 였던 이벤트 publisher pika 연결이 **첫 발행 시 `StreamLostError(EOF)` 로 1회 끊겼다가 자동 복구**(best-effort 경로, 롤백 없음, 슬롯/ledger 정합 영향 없음). 첫 이벤트 1건 유실 가능.
|
||||
- (배포 전) paper-broker e2e (2026-06-06): admission/read 그룹(멱등성·매수 거부 no_idle_slot·매도 거부 slot_not_found·pause/resume RPC·pause 는 intent 비차단·snapshot buyable 마스킹·happy-path 이벤트 캡처)과 broker-behavior 그룹(거부 롤백 `idle→pending_buy→idle`·지연 체결 `+3.7s`·부분 체결 qty 누적 `+2.5s`) 전부 통과. snapshot/pause RPC envelope·ledger outbox·슬롯 전이 정상.
|
||||
- (배포 전) 견고성 관찰: 데몬 부팅 후 오래 idle 였던 이벤트 publisher pika 연결이 **첫 발행 시 `StreamLostError(EOF)` 로 1회 끊겼다가 자동 복구**(best-effort 경로, 롤백 없음, 슬롯/ledger 정합 영향 없음). 첫 이벤트 1건 유실 가능.
|
||||
- (배포 후, 2026-06-06T11:18:16Z, 운영자 Hermes Agent) 실 환경(host 86ba33f2997a, `broker=kis` LIVE) 데몬 정상 기동(6 워커) + RabbitMQ 연결 성공. 실 KIS 계좌 대상 RabbitMQ → intent admitted → execution loop → KIS 실제 제출 → KIS 거절(휴장일 "장운영일자가 주문일과 상이합니다") → slot `pending_buy→idle` 자동 복구 흐름 의도대로 동작. broker_order_id/ledger 체결 흔적 없음(정상).
|
||||
- (배포 후 잔여) **ledger outbox flush(fill→ledger)는 운영 미실증** — 현충일 휴장으로 실 체결이 발생하지 않음(paper e2e 에서만 검증). 차기 거래일 실 체결 1건으로 확인 필요. 마이그레이션 001~003 명시 적용 로그·포지션 정합/warning 마스킹 개별 결과 로그도 차기 거래일 보강 대상.
|
||||
- Discovery Input:
|
||||
- 전략 모듈(orb-v1) Discovery — REQ-029 CHG-04 소비 참고 사항 입력.
|
||||
- 부분 매도(한 슬롯 수량 일부) 능력 — 현재 미구현(전량 매도만). 신규 Discovery 후보. (GitHub #5)
|
||||
- REQ Input:
|
||||
- <후속 req 후보>
|
||||
- 없음 (본 release 환류에서 신규 REQ 후보 없음; 후속 작업은 Discovery/Change Request 입력 및 차기 거래일 운영 실증으로 처리)
|
||||
- Change Request Input:
|
||||
- REQ-030 옵션 D 활성화(portfolio-hub#8 배포 후) — cash/position `*_after` 갱신.
|
||||
- 전략 필드 실데이터 채움(2번째 전략 도입 시) — REQ-027/REQ-029 연계.
|
||||
|
||||
Reference in New Issue
Block a user