feat(rvw,asl): RVW V3.0 smart review + ASL deep research history + stability

RVW module (V3.0 Smart Review Enhancement):
- Add LLM data validation via PromptService (RVW_DATA_VALIDATION)
- Add ClinicalAssessmentSkill with FINER-based evaluation (RVW_CLINICAL)
- Remove all numeric scores from UI (editorial, methodology, overall)
- Implement partial_completed status with Promise.allSettled
- Add error_details JSON field to ReviewTask for granular failure info
- Fix overallStatus logic: warning status now counts as success
- Restructure ForensicsReport: per-table LLM results, remove top-level block
- Refactor ClinicalReport: structured collapsible sections
- Increase all skill timeouts to 300s for long manuscripts (20+ pages)
- Increase DataForensics LLM timeout to 180s, pg-boss to 15min
- Executor default fallback timeout 30s -> 60s

ASL module:
- Add deep research history with sidebar accordion UI
- Implement waterfall flow for historical task display
- Upgrade Unifuncs DeepSearch API from S2 to S3 with fallback
- Add ASL_SR module seed for admin configurability
- Fix new search button inconsistency

Docs:
- Update RVW module status to V3.0
- Update deployment changelist
- Add 0305 deployment summary

DB Migration:
- Add error_details JSONB column to rvw_schema.review_tasks

Tested: All 4 review modules verified, partial completion working
Made-with: Cursor
This commit is contained in:
2026-03-07 19:24:21 +08:00
parent 91ae80888e
commit 87655ea7e6
46 changed files with 2929 additions and 511 deletions

View File

@@ -485,6 +485,7 @@ import type {
GenerateRequirementRequest,
GenerateRequirementResponse,
DeepResearchTask,
DeepResearchTaskSummary,
} from '../types/deepResearch';
/**
@@ -519,6 +520,20 @@ export async function executeDeepResearchTask(
});
}
/**
* 获取 V2.0 任务历史列表(最近 100 条,不含 draft
*/
export async function listDeepResearchTasks(): Promise<ApiResponse<DeepResearchTaskSummary[]>> {
return request('/research/v2/tasks');
}
/**
* 删除 V2.0 检索任务
*/
export async function deleteDeepResearchTask(taskId: string): Promise<ApiResponse<void>> {
return request(`/research/tasks/${taskId}`, { method: 'DELETE' });
}
/**
* 获取 V2.0 任务详情(状态 + 日志 + 结果)
*/
@@ -714,6 +729,8 @@ export const aslApi = {
getDeepResearchDataSources,
generateRequirement,
executeDeepResearchTask,
listDeepResearchTasks,
deleteDeepResearchTask,
getDeepResearchTask,
// 工具 3全文智能提取