refactor: CB 게이지 저장소를 context tree → system_metrics 별도 테이블로 분리
Some checks failed
CI / test (pull_request) Has been cancelled
Some checks failed
CI / test (pull_request) Has been cancelled
대시보드 표시 전용 데이터를 AI 의사결정용 context tree에 저장하는 것은 관심사 분리 위반. system_metrics 경량 테이블을 신설하여 완전히 분리. (PR #197 코드리뷰 반영) - db.py: system_metrics 테이블 추가 (key/value/updated_at) - main.py: context_store.set_context(L6_DAILY) → db_conn.execute(system_metrics) - app.py: contexts 쿼리 → system_metrics 쿼리 - tests: _seed_cb_context를 system_metrics 삽입으로 변경 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
15
src/main.py
15
src/main.py
@@ -430,13 +430,16 @@ async def trading_cycle(
|
||||
{"volume_ratio": candidate.volume_ratio},
|
||||
)
|
||||
|
||||
# Store latest pnl_pct in L6 (daily P&L layer) so the dashboard can display the CB gauge
|
||||
context_store.set_context(
|
||||
ContextLayer.L6_DAILY,
|
||||
datetime.now(UTC).date().isoformat(),
|
||||
f"portfolio_pnl_pct_{market.code}",
|
||||
{"pnl_pct": round(pnl_pct, 4)},
|
||||
# Write pnl_pct to system_metrics (dashboard-only table, separate from AI context tree)
|
||||
db_conn.execute(
|
||||
"INSERT OR REPLACE INTO system_metrics (key, value, updated_at) VALUES (?, ?, ?)",
|
||||
(
|
||||
f"portfolio_pnl_pct_{market.code}",
|
||||
json.dumps({"pnl_pct": round(pnl_pct, 4)}),
|
||||
datetime.now(UTC).isoformat(),
|
||||
),
|
||||
)
|
||||
db_conn.commit()
|
||||
|
||||
# Build portfolio data for global rule evaluation
|
||||
portfolio_data = {
|
||||
|
||||
Reference in New Issue
Block a user