feat: 미구현 API 4개 대시보드 프론트 연결 (#198) #199

Merged
jihoson merged 1 commits from feature/issue-198-dashboard-api-frontend into main 2026-02-23 05:37:33 +09:00
Collaborator

Summary

  • GET /api/playbook/{date}📋 프리마켓 플레이북 아코디언 패널
  • GET /api/scorecard/{date}📊 일간 스코어카드 KPI 카드 그리드
  • GET /api/scenarios/active🎯 활성 시나리오 매칭 테이블
  • GET /api/context/{layer}🧠 컨텍스트 트리 테이블 (L1-L7 레이어 선택)

결정 로그 패널 아래에 섹션 추가 방식으로 배치 (탭 전환 없음).
refreshAll() 확장으로 30초 자동 갱신 지원.

보안

  • esc() 헬퍼 함수로 innerHTML 삽입 값 XSS 방지 (&, <, >, " 이스케이프)
  • fetchJSON() 공통 헬퍼로 HTTP 오류 처리 통합
  • context limit 입력값 parseInt + 범위 클램핑(1-200) 적용

Test plan

  • pytest tests/test_dashboard.py -v — 23/23 통과
  • pytest -v --cov=src — 740 통과, 기존 커버리지 유지
  • 브라우저 수동 확인: 각 패널 market/layer 셀렉트 변경 → 데이터 로드
  • 데이터 없는 날짜 → "미생성" 안내 메시지 표시 확인

Closes #198

🤖 Generated with Claude Code

## Summary - `GET /api/playbook/{date}` → 📋 프리마켓 플레이북 아코디언 패널 - `GET /api/scorecard/{date}` → 📊 일간 스코어카드 KPI 카드 그리드 - `GET /api/scenarios/active` → 🎯 활성 시나리오 매칭 테이블 - `GET /api/context/{layer}` → 🧠 컨텍스트 트리 테이블 (L1-L7 레이어 선택) 결정 로그 패널 아래에 섹션 추가 방식으로 배치 (탭 전환 없음). `refreshAll()` 확장으로 30초 자동 갱신 지원. ## 보안 - `esc()` 헬퍼 함수로 innerHTML 삽입 값 XSS 방지 (`&`, `<`, `>`, `"` 이스케이프) - `fetchJSON()` 공통 헬퍼로 HTTP 오류 처리 통합 - context limit 입력값 parseInt + 범위 클램핑(1-200) 적용 ## Test plan - [x] `pytest tests/test_dashboard.py -v` — 23/23 통과 - [x] `pytest -v --cov=src` — 740 통과, 기존 커버리지 유지 - [ ] 브라우저 수동 확인: 각 패널 market/layer 셀렉트 변경 → 데이터 로드 - [ ] 데이터 없는 날짜 → "미생성" 안내 메시지 표시 확인 Closes #198 🤖 Generated with [Claude Code](https://claude.com/claude-code)
agentson added 1 commit 2026-02-22 13:47:33 +09:00
feat: 미구현 API 4개 대시보드 프론트 연결 (#198)
Some checks failed
CI / test (pull_request) Has been cancelled
ce82121f04
- Playbook(/api/playbook/{date}): 프리마켓 플레이북 아코디언 패널 추가
- Scorecard(/api/scorecard/{date}): 일간 스코어카드 KPI 카드 그리드 추가
- Scenarios(/api/scenarios/active): 활성 시나리오 매칭 테이블 추가
- Context(/api/context/{layer}): L1-L7 컨텍스트 트리 테이블 추가

모든 패널 decisions-panel 아래에 섹션 추가 방식으로 배치.
refreshAll()에 4개 함수 포함하여 30초 자동 갱신 지원.

보안:
- esc() 헬퍼로 innerHTML 삽입 값 XSS 방지
- ctx limit 값 parseInt + 범위 클램핑(1-200) 적용

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
jihoson merged commit b45d136894 into main 2026-02-23 05:37:33 +09:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: jihoson/The-Ouroboros#199