feat: enhance weekly report and realtime notifications
Weekly Report (fix-weekly-report): - Remove 5-task limit, show all tasks per category - Add blocked tasks with blocker_reason and blocked_since - Add next week tasks (due in coming week) - Add assignee_name, completed_at, days_overdue to task details - Frontend collapsible sections for each task category - 8 new tests for enhanced report content Realtime Notifications (fix-realtime-notifications): - SQLAlchemy event-based notification publishing - Redis Pub/Sub for multi-process broadcast - Fix soft rollback handler stacking issue - Fix ping scheduling drift (send immediately when interval expires) - Frontend NotificationContext with WebSocket reconnection Spec Fixes: - Add missing ## Purpose sections to 5 specs 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
## Phase 1: Backend Report Enhancement
|
||||
|
||||
### 1.1 ReportService 擴充
|
||||
- [x] 1.1.1 移除 completed_tasks/overdue_tasks 的 5 筆限制
|
||||
- [x] 1.1.2 新增 in_progress_tasks 完整清單
|
||||
- [x] 1.1.3 新增 blocked_tasks 查詢與清單
|
||||
- [x] 1.1.4 新增 next_week_tasks 查詢與清單
|
||||
- [x] 1.1.5 擴充 summary 包含 blocked_count 與 next_week_count
|
||||
|
||||
### 1.2 任務明細欄位
|
||||
- [x] 1.2.1 completed_tasks 加入 completed_at, assignee_name
|
||||
- [x] 1.2.2 in_progress_tasks 加入 assignee_name, due_date
|
||||
- [x] 1.2.3 overdue_tasks 加入 days_overdue 計算
|
||||
- [x] 1.2.4 blocked_tasks 加入 blocker_reason, blocked_since
|
||||
- [x] 1.2.5 next_week_tasks 加入 due_date, assignee_name
|
||||
|
||||
### 1.3 Testing - Phase 1
|
||||
- [x] 1.3.1 週報內容結構測試
|
||||
- [x] 1.3.2 阻礙任務查詢測試
|
||||
- [x] 1.3.3 下週預計任務測試
|
||||
|
||||
## Phase 2: Frontend Display
|
||||
|
||||
### 2.1 WeeklyReportPreview 更新
|
||||
- [x] 2.1.1 新增 BlockedTasksSection 元件
|
||||
- [x] 2.1.2 新增 NextWeekTasksSection 元件
|
||||
- [x] 2.1.3 更新 CompletedTasksSection 顯示完整清單
|
||||
- [x] 2.1.4 更新 InProgressTasksSection 顯示完整清單
|
||||
- [x] 2.1.5 更新 OverdueTasksSection 顯示 days_overdue
|
||||
|
||||
### 2.2 UI 改善
|
||||
- [x] 2.2.1 可摺疊區塊設計
|
||||
- [x] 2.2.2 任務項目樣式統一
|
||||
- [x] 2.2.3 逾期/阻礙 highlight 樣式
|
||||
|
||||
### 2.3 Testing - Phase 2
|
||||
- [x] 2.3.1 前端週報顯示測試
|
||||
- [x] 2.3.2 空清單狀態測試
|
||||
@@ -1,38 +0,0 @@
|
||||
## Phase 1: Backend Report Enhancement
|
||||
|
||||
### 1.1 ReportService 擴充
|
||||
- [ ] 1.1.1 移除 completed_tasks/overdue_tasks 的 5 筆限制
|
||||
- [ ] 1.1.2 新增 in_progress_tasks 完整清單
|
||||
- [ ] 1.1.3 新增 blocked_tasks 查詢與清單
|
||||
- [ ] 1.1.4 新增 next_week_tasks 查詢與清單
|
||||
- [ ] 1.1.5 擴充 summary 包含 blocked_count 與 next_week_count
|
||||
|
||||
### 1.2 任務明細欄位
|
||||
- [ ] 1.2.1 completed_tasks 加入 completed_at, assignee_name
|
||||
- [ ] 1.2.2 in_progress_tasks 加入 assignee_name, due_date
|
||||
- [ ] 1.2.3 overdue_tasks 加入 days_overdue 計算
|
||||
- [ ] 1.2.4 blocked_tasks 加入 blocker_reason, blocked_since
|
||||
- [ ] 1.2.5 next_week_tasks 加入 due_date, assignee_name
|
||||
|
||||
### 1.3 Testing - Phase 1
|
||||
- [ ] 1.3.1 週報內容結構測試
|
||||
- [ ] 1.3.2 阻礙任務查詢測試
|
||||
- [ ] 1.3.3 下週預計任務測試
|
||||
|
||||
## Phase 2: Frontend Display
|
||||
|
||||
### 2.1 WeeklyReportPreview 更新
|
||||
- [ ] 2.1.1 新增 BlockedTasksSection 元件
|
||||
- [ ] 2.1.2 新增 NextWeekTasksSection 元件
|
||||
- [ ] 2.1.3 更新 CompletedTasksSection 顯示完整清單
|
||||
- [ ] 2.1.4 更新 InProgressTasksSection 顯示完整清單
|
||||
- [ ] 2.1.5 更新 OverdueTasksSection 顯示 days_overdue
|
||||
|
||||
### 2.2 UI 改善
|
||||
- [ ] 2.2.1 可摺疊區塊設計
|
||||
- [ ] 2.2.2 任務項目樣式統一
|
||||
- [ ] 2.2.3 逾期/阻礙 highlight 樣式
|
||||
|
||||
### 2.3 Testing - Phase 2
|
||||
- [ ] 2.3.1 前端週報顯示測試
|
||||
- [ ] 2.3.2 空清單狀態測試
|
||||
@@ -1,5 +1,7 @@
|
||||
# Audit Trail
|
||||
|
||||
## Purpose
|
||||
|
||||
系統級稽核追蹤,記錄所有關鍵變更操作供合規與追溯需求。
|
||||
|
||||
## Requirements
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
# Automation
|
||||
|
||||
## Purpose
|
||||
|
||||
自動化系統,提供觸發器與自動報告生成功能。
|
||||
|
||||
## Requirements
|
||||
|
||||
### Requirement: Trigger-Based Automation
|
||||
系統 SHALL 支援觸發器 (Triggers),當特定條件滿足時自動執行動作。
|
||||
|
||||
@@ -61,41 +61,30 @@
|
||||
- **THEN** 系統自動將任務指派給指定人員
|
||||
|
||||
### Requirement: Automated Weekly Report
|
||||
系統 SHALL 每週五下午 4:00 自動彙整本週「已完成」與「進行中」的任務發送給主管。
|
||||
系統 SHALL 每週五下午 4:00 自動彙整完整任務清單發送給主管。
|
||||
|
||||
#### Scenario: 週報自動生成
|
||||
- **GIVEN** 系統排程設定為每週五 16:00
|
||||
- **WHEN** 到達排程時間
|
||||
- **THEN** 系統彙整每位主管所屬專案的任務狀態
|
||||
- **AND** 生成週報並發送給該主管
|
||||
|
||||
#### Scenario: 週報內容
|
||||
#### Scenario: 週報內容完整清單
|
||||
- **GIVEN** 週報生成中
|
||||
- **WHEN** 系統彙整資料
|
||||
- **THEN** 週報包含:
|
||||
- 本週已完成任務清單
|
||||
- 進行中任務清單
|
||||
- 逾期任務警示
|
||||
- 阻礙中任務清單
|
||||
- 下週預計完成任務
|
||||
- **THEN** 週報包含各專案的:
|
||||
- 本週已完成任務清單(含 completed_at, assignee_name)
|
||||
- 進行中任務清單(含 assignee_name, due_date)
|
||||
- 逾期任務警示(含 due_date, days_overdue)
|
||||
- 阻礙中任務清單(含 blocker_reason, blocked_since)
|
||||
- 下週預計完成任務(含 due_date, assignee_name)
|
||||
- **AND** 不設任務數量上限
|
||||
|
||||
#### Scenario: 週報發送方式
|
||||
- **GIVEN** 週報已生成
|
||||
- **WHEN** 系統發送週報
|
||||
- **THEN** 透過系統內通知發送給收件者
|
||||
- **AND** 週報可在系統內查閱歷史紀錄
|
||||
#### Scenario: 阻礙任務識別
|
||||
- **GIVEN** 任務有未解除的 Blocker 記錄
|
||||
- **WHEN** 週報查詢阻礙任務
|
||||
- **THEN** 系統查詢 Blocker 表 resolved_at IS NULL 的任務
|
||||
- **AND** 顯示阻礙原因與開始時間
|
||||
|
||||
#### Scenario: Email 發送(可選)
|
||||
- **GIVEN** 週報已生成且系統已啟用 Email 功能
|
||||
- **WHEN** 系統發送週報
|
||||
- **THEN** 同時透過 Email 發送給收件者
|
||||
- **AND** 記錄 Email 發送狀態
|
||||
|
||||
#### Scenario: Email 未啟用
|
||||
- **GIVEN** 週報已生成但系統未啟用 Email 功能
|
||||
- **WHEN** 系統發送週報
|
||||
- **THEN** 僅透過系統內通知發送
|
||||
- **AND** 記錄「Email 未啟用,僅發送系統通知」
|
||||
#### Scenario: 下週預計任務
|
||||
- **GIVEN** 任務的 due_date 在下週範圍內
|
||||
- **WHEN** 週報查詢下週預計任務
|
||||
- **THEN** 系統篩選 due_date >= 下週一 且 < 下週日
|
||||
- **AND** 排除已完成狀態的任務
|
||||
|
||||
## Data Model
|
||||
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
# Collaboration
|
||||
|
||||
## Purpose
|
||||
|
||||
協作功能系統,提供任務內討論、@提及通知與阻礙處理機制。
|
||||
|
||||
## Requirements
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
# Document Management
|
||||
|
||||
## Purpose
|
||||
|
||||
文件管理系統,提供檔案附件、版本控制、加密存儲與浮水印功能。
|
||||
|
||||
## Requirements
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
# Task Management
|
||||
|
||||
## Purpose
|
||||
|
||||
任務管理核心系統,支援多層級架構、自定義欄位與多維視角。
|
||||
|
||||
## Requirements
|
||||
|
||||
Reference in New Issue
Block a user