Skip to content

feat(saas): AI 브리핑 — contextual-orchestrator LLM 분석 (slice 55)#273

Merged
seonghobae merged 2 commits into
feat/clearfolio-viewerfrom
feat/ai-brief
Jul 7, 2026
Merged

feat(saas): AI 브리핑 — contextual-orchestrator LLM 분석 (slice 55)#273
seonghobae merged 2 commits into
feat/clearfolio-viewerfrom
feat/ai-brief

Conversation

@seonghobae

Copy link
Copy Markdown
Contributor

주간보고에 LLM 경영진 브리핑. LLM 트래픽은 contextual-orchestrator로만 (조직 OPENAI_API_KEY 에이전트 풀; 자격은 서버 env 전용).

  • POST /api/projects/:id/ai/brief — 서버가 지표 스냅샷 생성 → 시스템 프롬프트(지표 근거 강제) → {analysis}. 감사.
  • 주간보고 모달 'AI 요약' 버튼.
  • server/orchestrator.mjs — Bearer + 60s timeout + strict-validation 대응; URL 미설정 시 mock.

Verified

test:api ✓ · eval-safe ✓ · 실브라우저 버튼 렌더 · orchestrator#42 실컨테이너 LIVE 왕복 (strict-field 거부 발견→수정).

⚙️ 활성화: ORCHESTRATOR_URL + ORCHESTRATOR_TOKEN (오케스트레이터는 orchestrator#42의 Dockerfile로 기동, 조직 secret OPENAI_API_KEY 주입).

🤖 Generated with Claude Code

seonghobae and others added 2 commits July 7, 2026 10:43
주간보고에 LLM 경영진 브리핑을 추가한다. LLM 호출은 contextual-orchestrator
(OpenAI 호환 오케스트레이션 프록시, 조직 OPENAI_API_KEY 에이전트 풀)로만
나가며, 자격은 서버 환경변수에만 존재한다.

- server/orchestrator.mjs: /v1/chat/completions 클라이언트(Bearer, 60s 타임아웃,
  strict-validation 대응 — model+messages만 전송). ORCHESTRATOR_URL 미설정 시
  결정적 mock으로 전 플로우 테스트 가능.
- server/app.mjs: POST /api/projects/:id/ai/brief — 서버가 프로젝트 스냅샷
  (가중 계획/실적%, 지연·예정 작업 요약)을 만들어 시스템 프롬프트(지표 근거
  강제, 사실 생성 금지)와 함께 전송 → {analysis}. 감사(ai.brief). 멤버 접근.
- cloud-sync.js: 주간보고 모달 'AI 요약' 버튼 → 브리핑 블록 렌더(textContent).
- tests: mock 브리핑 200/내용/비멤버 404.
- docs: api.md AI 섹션 + deploy.md ORCHESTRATOR_URL/TOKEN.

Verified: test:api ✓ eval-safe ✓; 실브라우저 — AI 요약 클릭→브리핑 렌더;
그리고 orchestrator #42의 실제 컨테이너와 LIVE 왕복 성공(프로젝트 컨텍스트가
에이전트 풀을 통과해 응답, strict-field 거부 이슈 발견→수정 포함).

Stacked on feat/clearfolio-viewer (#272).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018LMoqYsUY6usjNMBjvxCbU
@seonghobae seonghobae merged commit e1dbb5a into feat/clearfolio-viewer Jul 7, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant