codeforjapan / codeforjapan/workflow-interviewer
C3. ギャップ一括計算トリガー (3ターン毎 + 明示ボタン)
- Dominant language
- TypeScript
- Stars
- 0
- Forks
- 0
- Avg merge
- 30m
- Merged PRs (30d)
- 2
Description
親: #1
依存: #7 (C1), #8 (C2)
## 目的
各ターンで LLM コストを抑えつつ、ギャップ検出を実用的なタイミングで実行する。
## 実装範囲
- `lib/server/interview/controller.ts` でターン数をカウントし、3ターン毎に C1+C2 を実行
- API: `POST /api/sessions/:id/gap-recompute` を追加(明示トリガー用)
- フロント: SessionView のヘッダーに「ギャップ更新」ボタン
- 並列実行: ターン中の抽出はそのまま、ギャップ計算はバックグラウンドで(必要に応じて WebSocket or polling、最初はレスポンス後同期でも可)
## 完了条件
- 3ターン目・6ターン目で自動的にギャップ計算が走り、UI に gaps[] が反映される
- 「ギャップ更新」ボタンでいつでも明示的に再計算できる
- セッション完了時にも最終再計算を実行する
## 関連
- 既存ターン処理: `lib/server/interview/controller.ts`
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reading lib/server/interview/controller.ts and the SessionView header, then inspect dependencies #7 and #8 to understand the existing gap calculations and turn flow. Confirm how the session API exposes gaps before adding the recompute route. Done means automatic recalculation on turns 3 and 6, a working button-triggered update, UI gaps[] refresh, and a final recalculation when the session completes.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- api, full-stack
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100