feat: Enhance team lifecycle roles with checkpoint handling and inner loop execution

- Added checkpoint gate handling to the coordinator role, defining behavior based on quality gate results.
- Updated planner role to utilize inner loop pattern for structured implementation planning and reporting.
- Revised writer role to implement inner loop for document generation, delegating CLI execution to a subagent.
- Introduced a new doc-generation subagent for isolated CLI calls and document generation strategies.
- Enhanced UI components in the frontend to display job statuses, last run times, and improved error handling.
- Updated localization files to include new strings for job details and status banners.
- Improved CSS styles for markdown previews to enhance readability and presentation.
This commit is contained in:
catlog22
2026-02-27 14:45:38 +08:00
parent b449b225fe
commit 3db74cc7b0
15 changed files with 1110 additions and 48 deletions

View File

@@ -119,6 +119,7 @@
"extracting": "Extracting...",
"extracted": "Extracted",
"recentJobs": "Recent Jobs",
"lastRun": "Last run",
"triggered": "Extraction triggered",
"triggerError": "Failed to trigger extraction"
},
@@ -132,8 +133,11 @@
"exists": "Exists",
"notExists": "Not Exists",
"inputs": "Inputs",
"lastRun": "Last run",
"triggered": "Consolidation triggered",
"triggerError": "Failed to trigger consolidation"
"triggerError": "Failed to trigger consolidation",
"copySuccess": "Copied",
"noContent": "No content available"
},
"jobs": {
"title": "Jobs",
@@ -144,7 +148,26 @@
"noJobs": "No jobs found",
"allKinds": "All Kinds",
"extraction": "Extraction",
"consolidation": "Consolidation"
"consolidation": "Consolidation",
"statusFilter": {
"all": "All Status",
"pending": "Pending",
"running": "Running",
"done": "Done",
"error": "Error"
},
"detail": {
"title": "Job Details",
"kind": "Kind",
"jobKey": "Job ID",
"status": "Status",
"startedAt": "Started At",
"finishedAt": "Finished At",
"workerId": "Worker ID",
"retryRemaining": "Retry Remaining",
"error": "Error",
"noError": "No error"
}
},
"status": {
"idle": "Idle",
@@ -153,6 +176,10 @@
"done": "Done",
"error": "Error",
"pending": "Pending"
},
"statusBanner": {
"running": "Pipeline Running - {count} job(s) in progress",
"hasErrors": "Pipeline Idle - {count} job(s) failed"
}
}
}

View File

@@ -119,6 +119,7 @@
"extracting": "提取中...",
"extracted": "已提取",
"recentJobs": "最近作业",
"lastRun": "上次运行",
"triggered": "提取已触发",
"triggerError": "触发提取失败"
},
@@ -132,8 +133,11 @@
"exists": "存在",
"notExists": "不存在",
"inputs": "输入",
"lastRun": "上次运行",
"triggered": "合并已触发",
"triggerError": "触发合并失败"
"triggerError": "触发合并失败",
"copySuccess": "复制成功",
"noContent": "暂无内容"
},
"jobs": {
"title": "作业列表",
@@ -144,7 +148,26 @@
"noJobs": "暂无作业记录",
"allKinds": "所有类型",
"extraction": "提取",
"consolidation": "合并"
"consolidation": "合并",
"statusFilter": {
"all": "所有状态",
"pending": "等待",
"running": "运行中",
"done": "完成",
"error": "错误"
},
"detail": {
"title": "作业详情",
"kind": "类型",
"jobKey": "作业 ID",
"status": "状态",
"startedAt": "开始时间",
"finishedAt": "结束时间",
"workerId": "Worker ID",
"retryRemaining": "剩余重试次数",
"error": "错误信息",
"noError": "无错误"
}
},
"status": {
"idle": "空闲",
@@ -153,6 +176,10 @@
"done": "完成",
"error": "错误",
"pending": "等待"
},
"statusBanner": {
"running": "Pipeline 运行中 - {count} 个作业正在执行",
"hasErrors": "Pipeline 空闲 - {count} 个作业失败"
}
}
}