HaHafeng
2030ebe28f
feat(iit): Complete V3.1 QC engine + GCP business reports + AI timeline + bug fixes
V3.1 QC Engine:
- QcExecutor unified entry + D1-D7 dimension engines + three-level aggregation
- HealthScoreEngine + CompletenessEngine + ProtocolDeviationEngine + QcAggregator
- B4 flexible cron scheduling (project-level cronExpression + pg-boss dispatcher)
- Prisma migrations for qc_field_status, event_status, project_stats
GCP Business Reports (Phase A - 4 reports):
- D1 Eligibility: record_summary full list + qc_field_status D1 overlay
- D2 Completeness: data entry rate and missing rate aggregation
- D3/D4 Query Tracking: severity distribution from qc_field_status
- D6 Protocol Deviation: D6 dimension filtering
- 4 frontend table components + ReportsPage 5-tab restructure
AI Timeline Enhancement:
- SkillRunner outputs totalRules (33 actual rules vs 1 skill)
- iitQcCockpitController severity mapping fix (critical->red, warning->yellow)
- AiStreamPage expandable issue detail table with Chinese labels
- Event label localization (eventLabel from backend)
Business-side One-click Batch QC:
- DashboardPage batch QC button with SyncOutlined icon
- Auto-refresh QcReport cache after batch execution
Bug Fixes:
- dimension_code -> rule_category in 4 SQL queries
- D1 eligibility data source: record_summary full + qc_field_status overlay
- Timezone UTC -> Asia/Shanghai (QcReportService toBeijingTime helper)
- Pass rate calculation: passed/totalEvents instead of passed/totalRecords
Docs:
- Update IIT module status with GCP reports and bug fix milestones
- Update system status doc v6.6 with IIT progress
Tested: Backend compiles, frontend linter clean, batch QC verified
Made-with: Cursor
2026-03-01 22:49:49 +08:00
..
2026-02-07 21:56:11 +08:00
2026-02-19 20:57:00 +08:00
2026-02-19 20:57:00 +08:00
2026-02-23 13:21:52 +08:00
2026-02-25 18:29:20 +08:00
2026-02-26 13:28:08 +08:00
2026-02-27 14:35:25 +08:00
2026-02-27 14:35:25 +08:00
2026-03-01 15:27:05 +08:00
2026-03-01 15:27:05 +08:00
2026-03-01 22:49:49 +08:00
2026-03-01 22:49:49 +08:00
2026-03-01 22:49:49 +08:00
2026-02-07 21:56:11 +08:00
2025-10-10 20:33:18 +08:00
2025-11-16 15:43:04 +08:00
2025-11-16 15:43:04 +08:00
2026-02-19 20:57:00 +08:00
2026-02-08 21:22:11 +08:00
2025-10-10 15:56:45 +08:00