feat: add CCW Loop System for automated iterative workflow execution

Implements a complete loop execution system with multi-loop parallel support,
dashboard monitoring, and comprehensive security validation.

Core features:
- Loop orchestration engine (loop-manager, loop-state-manager)
- Multi-loop parallel execution with independent state management
- REST API endpoints for loop control (pause, resume, stop, retry)
- WebSocket real-time status updates
- Dashboard Loop Monitor view with live updates
- Security: path traversal protection and sandboxed JavaScript evaluation

Test coverage:
- 42 comprehensive tests covering multi-loop, API, WebSocket, security
- Security validation for success_condition injection attacks
- Edge case handling and end-to-end workflow tests
This commit is contained in:
catlog22
2026-01-21 22:55:24 +08:00
parent 64e064e775
commit d9f1d14d5e
28 changed files with 5912 additions and 17 deletions

View File

@@ -183,6 +183,14 @@ function initNavigation() {
} else {
console.error('renderIssueDiscovery not defined - please refresh the page');
}
} else if (currentView === 'loop-monitor') {
if (typeof renderLoopMonitor === 'function') {
renderLoopMonitor();
// Register destroy function for cleanup
currentViewDestroy = window.destroyLoopMonitor;
} else {
console.error('renderLoopMonitor not defined - please refresh the page');
}
}
});
});
@@ -231,6 +239,8 @@ function updateContentTitle() {
titleEl.textContent = t('title.issueManager');
} else if (currentView === 'issue-discovery') {
titleEl.textContent = t('title.issueDiscovery');
} else if (currentView === 'loop-monitor') {
titleEl.textContent = t('title.loopMonitor') || 'Loop Monitor';
} else if (currentView === 'liteTasks') {
const names = { 'lite-plan': t('title.litePlanSessions'), 'lite-fix': t('title.liteFixSessions'), 'multi-cli-plan': t('title.multiCliPlanSessions') || 'Multi-CLI Plan Sessions' };
titleEl.textContent = names[currentLiteType] || t('title.liteTasks');