tycono 0.1.95-beta.1 → 0.1.95-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/api/src/routes/execute.ts +6 -2
- package/src/api/src/services/supervisor-heartbeat.ts +17 -2
- package/src/web/dist/assets/index-A3-TBmWZ.js +138 -0
- package/src/web/dist/assets/{index-B8yxzPmd.css → index-D1RTvnx7.css} +1 -1
- package/src/web/dist/assets/{index-Cqe9ybb5.js → index-uwS0YSTU.js} +1 -1
- package/src/web/dist/assets/{preview-app-BEtVZd8o.js → preview-app-CAohaHWp.js} +1 -1
- package/src/web/dist/index.html +2 -2
- package/src/web/dist/assets/index-M48dx91a.js +0 -138
package/package.json
CHANGED
|
@@ -218,6 +218,7 @@ function handleStartJob(body: Record<string, unknown>, res: ServerResponse): voi
|
|
|
218
218
|
}
|
|
219
219
|
|
|
220
220
|
const targetRoles = body.targetRoles as string[] | undefined;
|
|
221
|
+
const continuous = body.continuous === true;
|
|
221
222
|
|
|
222
223
|
// Always use supervisor mode — CEO supervises C-Levels who supervise members
|
|
223
224
|
{
|
|
@@ -225,6 +226,7 @@ function handleStartJob(body: Record<string, unknown>, res: ServerResponse): voi
|
|
|
225
226
|
`wave-${Date.now()}`,
|
|
226
227
|
directive,
|
|
227
228
|
targetRoles && targetRoles.length > 0 ? targetRoles : undefined,
|
|
229
|
+
continuous,
|
|
228
230
|
);
|
|
229
231
|
|
|
230
232
|
if (state.status === 'error') {
|
|
@@ -677,20 +679,22 @@ function handleWave(body: Record<string, unknown>, req: IncomingMessage, res: Se
|
|
|
677
679
|
}
|
|
678
680
|
|
|
679
681
|
const targetRoles = body.targetRoles as string[] | undefined;
|
|
682
|
+
const continuous = body.continuous === true;
|
|
680
683
|
|
|
681
684
|
// Always supervisor mode — CEO supervises C-Levels
|
|
682
|
-
handleWaveSupervisor(directive, targetRoles, req, res);
|
|
685
|
+
handleWaveSupervisor(directive, targetRoles, continuous, req, res);
|
|
683
686
|
}
|
|
684
687
|
|
|
685
688
|
/**
|
|
686
689
|
* Supervisor mode: Start a single CEO Supervisor session that dispatches C-Levels.
|
|
687
690
|
* The supervisor uses dispatch/watch/amend tools — same pattern as any supervisor node.
|
|
688
691
|
*/
|
|
689
|
-
function handleWaveSupervisor(directive: string, targetRoles: string[] | undefined, req: IncomingMessage, res: ServerResponse): void {
|
|
692
|
+
function handleWaveSupervisor(directive: string, targetRoles: string[] | undefined, continuous: boolean, req: IncomingMessage, res: ServerResponse): void {
|
|
690
693
|
const state = supervisorHeartbeat.start(
|
|
691
694
|
`wave-${Date.now()}`,
|
|
692
695
|
directive,
|
|
693
696
|
targetRoles && targetRoles.length > 0 ? targetRoles : undefined,
|
|
697
|
+
continuous,
|
|
694
698
|
);
|
|
695
699
|
|
|
696
700
|
if (state.status === 'error') {
|
|
@@ -24,6 +24,7 @@ interface SupervisorState {
|
|
|
24
24
|
waveId: string;
|
|
25
25
|
directive: string;
|
|
26
26
|
targetRoles?: string[];
|
|
27
|
+
continuous: boolean;
|
|
27
28
|
supervisorSessionId: string | null;
|
|
28
29
|
executionId: string | null;
|
|
29
30
|
status: 'starting' | 'running' | 'restarting' | 'stopped' | 'error';
|
|
@@ -62,7 +63,7 @@ class SupervisorHeartbeat {
|
|
|
62
63
|
* This creates a supervisor session and starts an execution.
|
|
63
64
|
* If the execution dies, it auto-restarts (heartbeat).
|
|
64
65
|
*/
|
|
65
|
-
start(waveId: string, directive: string, targetRoles?: string[]): SupervisorState {
|
|
66
|
+
start(waveId: string, directive: string, targetRoles?: string[], continuous = false): SupervisorState {
|
|
66
67
|
// Check if supervisor already running for this wave
|
|
67
68
|
const existing = this.supervisors.get(waveId);
|
|
68
69
|
if (existing && (existing.status === 'running' || existing.status === 'starting')) {
|
|
@@ -74,6 +75,7 @@ class SupervisorHeartbeat {
|
|
|
74
75
|
waveId,
|
|
75
76
|
directive,
|
|
76
77
|
targetRoles,
|
|
78
|
+
continuous,
|
|
77
79
|
supervisorSessionId: null,
|
|
78
80
|
executionId: null,
|
|
79
81
|
status: 'starting',
|
|
@@ -322,7 +324,15 @@ Re-dispatch pattern:
|
|
|
322
324
|
- Each iteration should close specific gaps, not redo everything
|
|
323
325
|
- Maximum 5 iterations per C-Level before escalating
|
|
324
326
|
|
|
325
|
-
|
|
327
|
+
${state.continuous ? `## Continuous Improvement Mode (ON)
|
|
328
|
+
⛔ 첫 번째 완성 후 멈추지 마라.
|
|
329
|
+
1. 모든 subordinate done + QA pass 후, 즉시 CBO에게 "사용자 관점에서 부족한 점, 개선할 점"을 물어라.
|
|
330
|
+
2. CTO에게 "기술적으로 개선할 점, 코드 품질, 성능"을 물어라.
|
|
331
|
+
3. CBO/CTO 의견을 종합하여 의미있는 개선이 있으면 re-dispatch.
|
|
332
|
+
4. 이 사이클을 반복하라. 각 iteration마다 게임/산출물이 점점 나아져야 한다.
|
|
333
|
+
5. 사용자가 Stop을 누를 때까지 계속한다. 스스로 done 선언하지 마라.
|
|
334
|
+
|
|
335
|
+
` : ''}## Instructions
|
|
326
336
|
1. Analyze the directive and decide which C-Level roles to dispatch (not necessarily all)
|
|
327
337
|
2. Dispatch them with clear tasks
|
|
328
338
|
3. Enter supervision watch loop
|
|
@@ -412,6 +422,11 @@ Re-dispatch pattern:
|
|
|
412
422
|
console.log(`[Supervisor] Done but ${runningChildren.length} children still running. Restarting.`);
|
|
413
423
|
state.crashCount = 0; // Not a crash, intentional restart
|
|
414
424
|
this.scheduleRestart(state, 5_000); // 5s delay
|
|
425
|
+
} else if (state.continuous) {
|
|
426
|
+
// Continuous Improvement Mode: don't stop — restart supervisor to ask C-Levels for improvements
|
|
427
|
+
console.log(`[Supervisor] Wave ${state.waveId} iteration complete. Continuous mode ON — restarting for next improvement cycle.`);
|
|
428
|
+
state.crashCount = 0;
|
|
429
|
+
this.scheduleRestart(state, 5_000);
|
|
415
430
|
} else {
|
|
416
431
|
console.log(`[Supervisor] Wave ${state.waveId} complete. All subordinates done.`);
|
|
417
432
|
state.status = 'stopped';
|