対象週にマージされたPR数。未マージPRは含めません。
GitHub PR 週次レポート
DORAメトリクス
PR作成からマージまでの時間の中央値。未マージPRは含めません。
hotfix / revert / incident ラベル付きでマージされたPR数 ÷ 週内マージPR数。障害を直接計測せず、ラベルで失敗修正を判定しています。
hotfix / revert / incident ラベル付きでマージされたPRの、作成からマージまでの平均時間。該当PRがない場合は N/A です。
PRタイムライン
レビュー相関
作成者とレビュアーのペアをレビュー数で重み付けして表示。
全体進捗
週全体は、開発基盤の刷新と主要機能の実装を進めながら、認証・運用安定化・決済領域の土台を同時に強化した。
フロントエンド実行基盤の刷新
WebpackからViteへの全面移行を完了し、環境変数・動的import・CI・Storybook・テスト構成まで新ビルド系へ統合した。あわせてReact 19へアップグレードし、チェックアウトE2E追加で回帰検知を強化した。
関連PR: acme-corp/web-app#502, acme-corp/web-app#300, acme-corp/web-app#302
認証・API防御の強化
セッションCookieをJWTへ移行し、レビュー指摘を受けてリフレッシュエンドポイント追加とローテーション方針の文書化まで完了した。公開APIにはRedisベースのスライディングウィンドウ制限を導入し、OAuth 2.0 PKCE例を含む認証ガイドも更新した。
関連PR: acme-corp/api-server#504, acme-corp/api-server#202, acme-corp/api-server#301
オンボーディングフロー再設計
オンボーディングを段階型フローへ再構成し、pending/active/complete/skipped の明示的ステートマシンで遷移条件を整理した。招待API失敗時の指数バックオフ再試行、3回失敗後のスキップ導線、遷移分析イベント追加まで反映した。
関連PR: acme-corp/api-server#507
決済基盤の再編とStripe拡張
散在していた支払い処理をPaymentServiceへ集約し、呼び出し側がStripeエラー詳細を意識しない構成に整理した。これを土台にStripe Checkout/BillingとWebhook実装の大規模PRが立ち上がり、横断レビュー待ちまで進んだ。
関連PR: acme-corp/web-app#55, acme-corp/web-app#506
可観測性強化と緊急復旧対応
CPU・メモリ・レイテンシ・エラー率をSSE配信するヘルスダッシュボードを追加し、7日保持の自動クリーンアップを導入した。本番DockerfileのENV欠落修正と、ステージング障害を起こしたデプロイ設定の緊急リバートで運用復旧を優先した。
関連PR: acme-corp/api-server#88, acme-corp/api-server#503, acme-corp/cli-tools#500
UI改善とAPI移行方針の整理
設定画面にダークモード切替を追加し、localStorage永続化とCSSカスタムプロパティ適用まで実装した。認証失敗後にログインボタンが復帰しない不具合を修正し、REST全面置換のGraphQL提案は互換性リスクを理由にクローズして段階導入RFCへ方針転換した。
関連PR: acme-corp/web-app#501, acme-corp/web-app#101, acme-corp/api-server#508
フォローアップが必要なPR
対象条件: PR本文・コメント・レビューに、未対応TODO、別PR/後続チケット、未解決レビュー、延期された実装、または後続リファクタの明示的な根拠があるもの。
📌 TODO(明示された後続アクション)
- acme-corp/api-server#504 — JWT有効期限の環境変数化と、ログアウト時トークン無効化(ブロックリスト)を後続で実装する。根拠: 未解決スレッドで作者が「Will address in a follow-up PR」と明言し、別スレッドでも「Need a token blocklist for that. Tracking in issue #510.」と記載。
- acme-corp/api-server#508 — REST併存前提のGraphQL導入方針をRFCとして起票し、移行戦略を定義する。根拠: 作者コメントに「I'll open a separate RFC for the opt-in GraphQL endpoint approach. Closing this PR.」と明記。
- acme-corp/web-app#506 — セキュリティ・バックエンド・フロントエンド観点のレビューを完了させる。根拠: PR本文に「Needs review from alice (security), bob (backend), carol (frontend).」と記載。
❓ 要確認(対応の有無が不明)
- acme-corp/api-server#202 — Redis依存のデプロイメントドキュメント反映が実施済みか確認する。根拠: レビューで「Worth noting the Redis dependency in the deployment docs.」と指摘がある一方、対応完了の記述はPRデータ上で確認できない。
議論があったPR
対象条件: 実装方針、設計トレードオフ、レビューでの反対意見、要求変更、または方向転換がコメント・レビュー上で確認できるもの。
- acme-corp/api-server#508: RESTを全面廃止してGraphQLへ置換する方針の是非が議論され、互換性と移行期間の設計が争点になった。結果: 全面置換案はクローズされ、GraphQLは併存導入を前提に別RFCへ方向転換。根拠: 変更要求で「既存クライアント破壊リスク」と「移行戦略不足」が指摘され、作者コメントで「別RFCを開くため本PRを閉じる」と明示された。
- acme-corp/api-server#507: オンボーディングのステップ状態遷移定義と、チーム招待API失敗時の回復戦略が複数回の変更要求で議論された。結果: 状態機械の明確化に加え、最大3回リトライと失敗後のskipフォールバック、遷移分析イベント追加で承認。根拠: Bobの2回の「CHANGES_REQUESTED」とCarolの同意コメント後、修正報告コメントと最終承認が記録されている。
- acme-corp/api-server#504: セッションCookieからJWTへ移行する際のリフレッシュ運用と有効期限・失効ポリシーの扱いが議論された。結果:
/auth/refreshとローテーション方針の追加で承認された一方、TTLの環境変数化とログアウト時失効は別対応に持ち越し。根拠: Aliceの変更要求後に承認へ転じ、レビューThreadで「follow-up PR」「issue #510」への切り分けが明記されている。 - acme-corp/web-app#502: WebpackからViteへの全面移行に対し、移行直後の安全策として旧ビルド系統を一時保持すべきかが議論された。結果:
LEGACY_BUILDフラグで旧経路を1リリース併存させる方針で合意し承認。根拠: Carolの変更要求コメント後に「LEGACY_BUILD flag」への謝意付き承認が付き、該当修正コミットも追加されている。