@telora/daemon 0.15.1 → 0.15.3
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/README.md +11 -11
- package/build-info.json +2 -2
- package/dist/assembly-engine.d.ts +1 -1
- package/dist/assembly-engine.d.ts.map +1 -1
- package/dist/assembly-resolvers.js +41 -41
- package/dist/assembly-resolvers.js.map +1 -1
- package/dist/branch-status.d.ts +4 -4
- package/dist/branch-status.d.ts.map +1 -1
- package/dist/branch-status.js +23 -23
- package/dist/branch-status.js.map +1 -1
- package/dist/cli/connect.js +1 -1
- package/dist/cli/connect.js.map +1 -1
- package/dist/completion-detector.d.ts +1 -1
- package/dist/completion-detector.js +1 -1
- package/dist/completion-handler.d.ts +1 -1
- package/dist/completion-handler.js +4 -4
- package/dist/completion-handler.js.map +1 -1
- package/dist/condition-evaluators.js +4 -4
- package/dist/condition-evaluators.js.map +1 -1
- package/dist/control-state.d.ts +6 -6
- package/dist/control-state.d.ts.map +1 -1
- package/dist/control-state.js +43 -43
- package/dist/control-state.js.map +1 -1
- package/dist/crash-recovery-scan.d.ts +1 -1
- package/dist/crash-recovery-scan.js +20 -20
- package/dist/crash-recovery-scan.js.map +1 -1
- package/dist/crash-recovery-types.d.ts +3 -3
- package/dist/crash-recovery-types.d.ts.map +1 -1
- package/dist/crash-recovery-types.js +2 -2
- package/dist/crash-recovery-types.js.map +1 -1
- package/dist/crash-recovery.d.ts +3 -3
- package/dist/crash-recovery.d.ts.map +1 -1
- package/dist/crash-recovery.js +21 -21
- package/dist/crash-recovery.js.map +1 -1
- package/dist/daemon-process.d.ts +1 -1
- package/dist/daemon-process.d.ts.map +1 -1
- package/dist/dag-validator.d.ts +6 -6
- package/dist/dag-validator.d.ts.map +1 -1
- package/dist/dag-validator.js +2 -2
- package/dist/dag-validator.js.map +1 -1
- package/dist/delivery-guards.d.ts +1 -1
- package/dist/delivery-guards.js +1 -1
- package/dist/delivery-lifecycle.d.ts +5 -5
- package/dist/delivery-lifecycle.d.ts.map +1 -1
- package/dist/delivery-lifecycle.js +12 -12
- package/dist/delivery-lifecycle.js.map +1 -1
- package/dist/delivery-merge.js +1 -1
- package/dist/delivery-merge.js.map +1 -1
- package/dist/dependency-resolver.d.ts +7 -7
- package/dist/dependency-resolver.d.ts.map +1 -1
- package/dist/dependency-resolver.js.map +1 -1
- package/dist/directive-executor.d.ts +15 -15
- package/dist/directive-executor.d.ts.map +1 -1
- package/dist/directive-executor.js +76 -76
- package/dist/directive-executor.js.map +1 -1
- package/dist/evaluation-context.d.ts +2 -2
- package/dist/evaluation-context.d.ts.map +1 -1
- package/dist/evaluation-context.js +4 -4
- package/dist/evaluation-context.js.map +1 -1
- package/dist/focus-completion-event.d.ts +97 -0
- package/dist/focus-completion-event.d.ts.map +1 -0
- package/dist/focus-completion-event.js +257 -0
- package/dist/focus-completion-event.js.map +1 -0
- package/dist/focus-completion.d.ts +85 -0
- package/dist/focus-completion.d.ts.map +1 -0
- package/dist/focus-completion.js +459 -0
- package/dist/focus-completion.js.map +1 -0
- package/dist/focus-engine.d.ts +47 -0
- package/dist/focus-engine.d.ts.map +1 -0
- package/dist/focus-engine.js +421 -0
- package/dist/focus-engine.js.map +1 -0
- package/dist/focus-executor.d.ts +55 -0
- package/dist/focus-executor.d.ts.map +1 -0
- package/dist/focus-executor.js +549 -0
- package/dist/focus-executor.js.map +1 -0
- package/dist/focus-lifecycle.d.ts +61 -0
- package/dist/focus-lifecycle.d.ts.map +1 -0
- package/dist/focus-lifecycle.js +544 -0
- package/dist/focus-lifecycle.js.map +1 -0
- package/dist/focus-merge.d.ts +77 -0
- package/dist/focus-merge.d.ts.map +1 -0
- package/dist/focus-merge.js +378 -0
- package/dist/focus-merge.js.map +1 -0
- package/dist/focus-prompt-builder.d.ts +35 -0
- package/dist/focus-prompt-builder.d.ts.map +1 -0
- package/dist/focus-prompt-builder.js +138 -0
- package/dist/focus-prompt-builder.js.map +1 -0
- package/dist/focus-provisioning.d.ts +16 -0
- package/dist/focus-provisioning.d.ts.map +1 -0
- package/dist/focus-provisioning.js +119 -0
- package/dist/focus-provisioning.js.map +1 -0
- package/dist/focus-spawn-helpers.d.ts +67 -0
- package/dist/focus-spawn-helpers.d.ts.map +1 -0
- package/dist/focus-spawn-helpers.js +160 -0
- package/dist/focus-spawn-helpers.js.map +1 -0
- package/dist/focus-team-lifecycle.d.ts +50 -0
- package/dist/focus-team-lifecycle.d.ts.map +1 -0
- package/dist/focus-team-lifecycle.js +256 -0
- package/dist/focus-team-lifecycle.js.map +1 -0
- package/dist/focus-team-state.d.ts +24 -0
- package/dist/focus-team-state.d.ts.map +1 -0
- package/dist/focus-team-state.js +43 -0
- package/dist/focus-team-state.js.map +1 -0
- package/dist/focus-worktree-state.d.ts +47 -0
- package/dist/focus-worktree-state.d.ts.map +1 -0
- package/dist/focus-worktree-state.js +104 -0
- package/dist/focus-worktree-state.js.map +1 -0
- package/dist/git-merge.d.ts +5 -5
- package/dist/git-merge.d.ts.map +1 -1
- package/dist/git-merge.js +5 -5
- package/dist/git-merge.js.map +1 -1
- package/dist/git-state-detector.d.ts +1 -1
- package/dist/git-state-detector.js +9 -9
- package/dist/git-state-detector.js.map +1 -1
- package/dist/git-utils.d.ts +1 -1
- package/dist/git-utils.js +1 -1
- package/dist/git.d.ts +2 -2
- package/dist/git.d.ts.map +1 -1
- package/dist/git.js +3 -3
- package/dist/git.js.map +1 -1
- package/dist/heartbeat.d.ts +4 -4
- package/dist/heartbeat.d.ts.map +1 -1
- package/dist/heartbeat.js +7 -7
- package/dist/heartbeat.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +10 -10
- package/dist/index.js.map +1 -1
- package/dist/listener-auto-advance.d.ts +2 -2
- package/dist/listener-auto-advance.js +21 -21
- package/dist/listener-auto-advance.js.map +1 -1
- package/dist/listener.d.ts +12 -12
- package/dist/listener.d.ts.map +1 -1
- package/dist/listener.js +80 -75
- package/dist/listener.js.map +1 -1
- package/dist/loop-engine.d.ts +20 -20
- package/dist/loop-engine.d.ts.map +1 -1
- package/dist/loop-engine.js +82 -82
- package/dist/loop-engine.js.map +1 -1
- package/dist/loop-event-bus.d.ts +5 -5
- package/dist/loop-event-bus.d.ts.map +1 -1
- package/dist/loop-event-bus.js +3 -3
- package/dist/loop-llm-client.d.ts +1 -1
- package/dist/loop-llm-client.js +1 -1
- package/dist/loop-variance.d.ts +1 -1
- package/dist/loop-variance.js +1 -1
- package/dist/merge-detector.d.ts +6 -6
- package/dist/merge-detector.d.ts.map +1 -1
- package/dist/merge-detector.js +47 -47
- package/dist/merge-detector.js.map +1 -1
- package/dist/otlp-log-parser.js +2 -2
- package/dist/otlp-log-parser.js.map +1 -1
- package/dist/otlp-metric-parser.js +1 -1
- package/dist/otlp-metric-parser.js.map +1 -1
- package/dist/otlp-receiver.d.ts +1 -1
- package/dist/otlp-receiver.js +7 -7
- package/dist/otlp-receiver.js.map +1 -1
- package/dist/otlp-types.d.ts +1 -1
- package/dist/otlp-types.d.ts.map +1 -1
- package/dist/otlp-types.js +3 -3
- package/dist/otlp-types.js.map +1 -1
- package/dist/output-monitor.d.ts +6 -6
- package/dist/output-monitor.d.ts.map +1 -1
- package/dist/output-monitor.js +11 -11
- package/dist/output-monitor.js.map +1 -1
- package/dist/planning-prompt-builder.d.ts +17 -15
- package/dist/planning-prompt-builder.d.ts.map +1 -1
- package/dist/planning-prompt-builder.js +34 -32
- package/dist/planning-prompt-builder.js.map +1 -1
- package/dist/pm/mitigation-correlator.d.ts +7 -7
- package/dist/pm/mitigation-correlator.d.ts.map +1 -1
- package/dist/pm/mitigation-correlator.js +33 -33
- package/dist/pm/mitigation-correlator.js.map +1 -1
- package/dist/pm-engine.js +1 -1
- package/dist/pm-engine.js.map +1 -1
- package/dist/prompt-builder.d.ts +1 -1
- package/dist/prompt-builder.js +9 -9
- package/dist/prompt-builder.js.map +1 -1
- package/dist/prompts/starter-prompt.d.ts +2 -2
- package/dist/prompts/starter-prompt.d.ts.map +1 -1
- package/dist/prompts/starter-prompt.js +6 -6
- package/dist/qa-crash-recovery.d.ts +10 -10
- package/dist/qa-crash-recovery.d.ts.map +1 -1
- package/dist/qa-crash-recovery.js +32 -32
- package/dist/qa-crash-recovery.js.map +1 -1
- package/dist/qa-dev-server.d.ts +3 -3
- package/dist/qa-dev-server.d.ts.map +1 -1
- package/dist/qa-dev-server.js +3 -3
- package/dist/qa-dev-server.js.map +1 -1
- package/dist/qa-orchestrator.d.ts +18 -18
- package/dist/qa-orchestrator.d.ts.map +1 -1
- package/dist/qa-orchestrator.js +47 -47
- package/dist/qa-orchestrator.js.map +1 -1
- package/dist/qa-provisioner.d.ts +3 -3
- package/dist/qa-provisioner.d.ts.map +1 -1
- package/dist/qa-provisioner.js +14 -14
- package/dist/qa-provisioner.js.map +1 -1
- package/dist/qa-state.d.ts +10 -10
- package/dist/qa-state.d.ts.map +1 -1
- package/dist/qa-state.js +11 -11
- package/dist/qa-state.js.map +1 -1
- package/dist/queries/control-state.d.ts +5 -5
- package/dist/queries/control-state.d.ts.map +1 -1
- package/dist/queries/control-state.js +4 -4
- package/dist/queries/control-state.js.map +1 -1
- package/dist/queries/deliveries.d.ts +28 -24
- package/dist/queries/deliveries.d.ts.map +1 -1
- package/dist/queries/deliveries.js +32 -28
- package/dist/queries/deliveries.js.map +1 -1
- package/dist/queries/focuses.d.ts +97 -0
- package/dist/queries/focuses.d.ts.map +1 -0
- package/dist/queries/focuses.js +136 -0
- package/dist/queries/focuses.js.map +1 -0
- package/dist/queries/index.d.ts +3 -3
- package/dist/queries/index.d.ts.map +1 -1
- package/dist/queries/index.js +2 -2
- package/dist/queries/index.js.map +1 -1
- package/dist/queries/qa.d.ts +16 -16
- package/dist/queries/qa.d.ts.map +1 -1
- package/dist/queries/qa.js +22 -22
- package/dist/queries/qa.js.map +1 -1
- package/dist/queries/schemas.d.ts +40 -34
- package/dist/queries/schemas.d.ts.map +1 -1
- package/dist/queries/schemas.js +31 -26
- package/dist/queries/schemas.js.map +1 -1
- package/dist/queries/sessions.d.ts +1 -1
- package/dist/queries/sessions.d.ts.map +1 -1
- package/dist/queries/sessions.js +2 -2
- package/dist/queries/sessions.js.map +1 -1
- package/dist/queries/shared.js +10 -10
- package/dist/queries/shared.js.map +1 -1
- package/dist/queries/workflows.d.ts +1 -1
- package/dist/queries/workflows.js +1 -1
- package/dist/queries/worktrees.d.ts +7 -7
- package/dist/queries/worktrees.d.ts.map +1 -1
- package/dist/queries/worktrees.js +7 -7
- package/dist/queries/worktrees.js.map +1 -1
- package/dist/review-defect-detector.d.ts +125 -0
- package/dist/review-defect-detector.d.ts.map +1 -0
- package/dist/review-defect-detector.js +289 -0
- package/dist/review-defect-detector.js.map +1 -0
- package/dist/session-lifecycle.d.ts +17 -17
- package/dist/session-lifecycle.d.ts.map +1 -1
- package/dist/session-lifecycle.js +82 -82
- package/dist/session-lifecycle.js.map +1 -1
- package/dist/spawn-cooldown.d.ts +8 -8
- package/dist/spawn-cooldown.d.ts.map +1 -1
- package/dist/spawn-cooldown.js +15 -15
- package/dist/spawn-cooldown.js.map +1 -1
- package/dist/spawn-environment.d.ts +2 -2
- package/dist/spawn-environment.d.ts.map +1 -1
- package/dist/spawn-environment.js +3 -3
- package/dist/spawn-environment.js.map +1 -1
- package/dist/spawner-lifecycle.d.ts +2 -2
- package/dist/spawner-lifecycle.d.ts.map +1 -1
- package/dist/spawner-lifecycle.js +3 -3
- package/dist/spawner-lifecycle.js.map +1 -1
- package/dist/spawner-resolution.d.ts +3 -3
- package/dist/spawner-resolution.d.ts.map +1 -1
- package/dist/spawner-resolution.js +4 -4
- package/dist/spawner-resolution.js.map +1 -1
- package/dist/spawner-stream-handlers.js +2 -2
- package/dist/spawner-stream-handlers.js.map +1 -1
- package/dist/spawner.d.ts +1 -1
- package/dist/spawner.d.ts.map +1 -1
- package/dist/spawner.js +6 -6
- package/dist/spawner.js.map +1 -1
- package/dist/stage-classifier.d.ts +1 -1
- package/dist/stage-classifier.js +1 -1
- package/dist/state-cascade.d.ts +25 -25
- package/dist/state-cascade.d.ts.map +1 -1
- package/dist/state-cascade.js +89 -89
- package/dist/state-cascade.js.map +1 -1
- package/dist/strategy-completion-event.d.ts +37 -3
- package/dist/strategy-completion-event.d.ts.map +1 -1
- package/dist/strategy-completion-event.js +78 -9
- package/dist/strategy-completion-event.js.map +1 -1
- package/dist/strategy-completion.d.ts +11 -0
- package/dist/strategy-completion.d.ts.map +1 -1
- package/dist/strategy-completion.js +22 -1
- package/dist/strategy-completion.js.map +1 -1
- package/dist/strategy-executor.d.ts.map +1 -1
- package/dist/strategy-executor.js +46 -14
- package/dist/strategy-executor.js.map +1 -1
- package/dist/strategy-merge.d.ts.map +1 -1
- package/dist/strategy-merge.js +4 -0
- package/dist/strategy-merge.js.map +1 -1
- package/dist/strategy-team-lifecycle.d.ts.map +1 -1
- package/dist/strategy-team-lifecycle.js +3 -0
- package/dist/strategy-team-lifecycle.js.map +1 -1
- package/dist/supabase.d.ts +4 -4
- package/dist/supabase.d.ts.map +1 -1
- package/dist/supabase.js +5 -5
- package/dist/supabase.js.map +1 -1
- package/dist/task-converter.d.ts +4 -4
- package/dist/task-converter.d.ts.map +1 -1
- package/dist/task-converter.js +1 -1
- package/dist/task-converter.js.map +1 -1
- package/dist/team-prompt-base.d.ts +59 -19
- package/dist/team-prompt-base.d.ts.map +1 -1
- package/dist/team-prompt-base.js +206 -25
- package/dist/team-prompt-base.js.map +1 -1
- package/dist/team-spawner.d.ts +9 -9
- package/dist/team-spawner.d.ts.map +1 -1
- package/dist/team-spawner.js +87 -83
- package/dist/team-spawner.js.map +1 -1
- package/dist/telemetry-writer.d.ts +2 -2
- package/dist/telemetry-writer.d.ts.map +1 -1
- package/dist/templates/claude-md.js +8 -8
- package/dist/templates/claude-settings.d.ts +1 -1
- package/dist/templates/claude-settings.js +2 -2
- package/dist/templates/claude-settings.js.map +1 -1
- package/dist/trigger-executor.d.ts +4 -4
- package/dist/trigger-executor.d.ts.map +1 -1
- package/dist/trigger-executor.js +11 -11
- package/dist/trigger-executor.js.map +1 -1
- package/dist/types/dag.d.ts +1 -1
- package/dist/types/delivery.d.ts +3 -3
- package/dist/types/delivery.d.ts.map +1 -1
- package/dist/types/focus.d.ts +214 -0
- package/dist/types/focus.d.ts.map +1 -0
- package/dist/types/focus.js +5 -0
- package/dist/types/focus.js.map +1 -0
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +1 -1
- package/dist/types/index.js.map +1 -1
- package/dist/types/merge.d.ts +1 -1
- package/dist/types/session.d.ts +2 -2
- package/dist/types/session.d.ts.map +1 -1
- package/dist/types/strategy.d.ts +7 -0
- package/dist/types/strategy.d.ts.map +1 -1
- package/dist/unified-engine-lifecycle.js +11 -11
- package/dist/unified-engine-lifecycle.js.map +1 -1
- package/dist/unified-init.d.ts +1 -1
- package/dist/unified-init.js +9 -9
- package/dist/unified-init.js.map +1 -1
- package/dist/unified-shell-config.d.ts +4 -4
- package/dist/unified-shell-config.d.ts.map +1 -1
- package/dist/unified-shell-config.js +5 -5
- package/dist/unified-shell-config.js.map +1 -1
- package/dist/unified-shell-status.js +3 -3
- package/dist/unified-shell-status.js.map +1 -1
- package/dist/unified-shell.d.ts +1 -1
- package/dist/unified-shell.js +4 -4
- package/dist/unified-shell.js.map +1 -1
- package/dist/workflow-engine.d.ts +1 -1
- package/dist/workflow-engine.d.ts.map +1 -1
- package/dist/worktree-focus.d.ts +69 -0
- package/dist/worktree-focus.d.ts.map +1 -0
- package/dist/worktree-focus.js +214 -0
- package/dist/worktree-focus.js.map +1 -0
- package/dist/worktree.d.ts +10 -10
- package/dist/worktree.d.ts.map +1 -1
- package/dist/worktree.js +39 -39
- package/dist/worktree.js.map +1 -1
- package/package.json +2 -2
package/dist/team-spawner.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Team spawning logic for
|
|
2
|
+
* Team spawning logic for focus execution.
|
|
3
3
|
*
|
|
4
|
-
* Extracted from
|
|
4
|
+
* Extracted from focus-executor.ts. Contains the core spawnFocusTeam
|
|
5
5
|
* function decomposed into phases: worktree setup, context fetching, session
|
|
6
6
|
* creation, and process spawning.
|
|
7
7
|
*/
|
|
@@ -12,17 +12,17 @@ export declare function initGovernor(gov: ResourceGovernor): void;
|
|
|
12
12
|
/** Get the current resource governor (for use by session-lifecycle). */
|
|
13
13
|
export declare function getGovernor(): ResourceGovernor | null;
|
|
14
14
|
/**
|
|
15
|
-
* Generate branch name for
|
|
15
|
+
* Generate branch name for focus-level work.
|
|
16
16
|
*/
|
|
17
|
-
export declare function
|
|
17
|
+
export declare function generateFocusBranchName(role: AgentRole, focusName: string, focusId: string): string;
|
|
18
18
|
/**
|
|
19
19
|
* Build Claude Code CLI arguments for the team lead.
|
|
20
20
|
*/
|
|
21
21
|
export declare function buildTeamLeadArgs(config: DaemonConfig, pipelineConfig: PipelineConfig | null, resumeSessionId?: string | null): string[];
|
|
22
|
-
export interface
|
|
22
|
+
export interface SpawnFocusTeamParams {
|
|
23
23
|
config: DaemonConfig;
|
|
24
|
-
|
|
25
|
-
|
|
24
|
+
focusId: string;
|
|
25
|
+
focusName: string;
|
|
26
26
|
role: AgentRole;
|
|
27
27
|
pipelineConfig: PipelineConfig | null;
|
|
28
28
|
readOnly?: boolean;
|
|
@@ -31,10 +31,10 @@ export interface SpawnStrategyTeamParams {
|
|
|
31
31
|
}
|
|
32
32
|
export type { LogStreams } from './types.js';
|
|
33
33
|
/**
|
|
34
|
-
* Spawn a
|
|
34
|
+
* Spawn a focus team to execute all deliveries in a focus.
|
|
35
35
|
*
|
|
36
36
|
* Creates a single Agent Team (lead process) that reads all deliveries
|
|
37
37
|
* and issues, builds a task DAG, and coordinates worker execution.
|
|
38
38
|
*/
|
|
39
|
-
export declare function
|
|
39
|
+
export declare function spawnFocusTeam(params: SpawnFocusTeamParams): Promise<void>;
|
|
40
40
|
//# sourceMappingURL=team-spawner.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"team-spawner.d.ts","sourceRoot":"","sources":["../src/team-spawner.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,KAAK,EACV,YAAY,EACZ,SAAS,EAET,cAAc,EAEf,MAAM,YAAY,CAAC;AAQpB,OAAO,EAAE,KAAK,gBAAgB,EAAe,MAAM,qBAAqB,CAAC;AAmBzE,oEAAoE;AACpE,wBAAgB,YAAY,CAAC,GAAG,EAAE,gBAAgB,GAAG,IAAI,CAExD;AAED,wEAAwE;AACxE,wBAAgB,WAAW,IAAI,gBAAgB,GAAG,IAAI,CAErD;AAID;;GAEG;AACH,wBAAgB,
|
|
1
|
+
{"version":3,"file":"team-spawner.d.ts","sourceRoot":"","sources":["../src/team-spawner.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,KAAK,EACV,YAAY,EACZ,SAAS,EAET,cAAc,EAEf,MAAM,YAAY,CAAC;AAQpB,OAAO,EAAE,KAAK,gBAAgB,EAAe,MAAM,qBAAqB,CAAC;AAmBzE,oEAAoE;AACpE,wBAAgB,YAAY,CAAC,GAAG,EAAE,gBAAgB,GAAG,IAAI,CAExD;AAED,wEAAwE;AACxE,wBAAgB,WAAW,IAAI,gBAAgB,GAAG,IAAI,CAErD;AAID;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAKnG;AAGD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,YAAY,EAAE,cAAc,EAAE,cAAc,GAAG,IAAI,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,EAAE,CAuBxI;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,YAAY,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,SAAS,CAAC;IAChB,cAAc,EAAE,cAAc,GAAG,IAAI,CAAC;IACtC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,4DAA4D;IAC5D,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACrC;AA8GD,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAoF7C;;;;;GAKG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,oBAAoB,GAC3B,OAAO,CAAC,IAAI,CAAC,CAqOf"}
|
package/dist/team-spawner.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Team spawning logic for
|
|
2
|
+
* Team spawning logic for focus execution.
|
|
3
3
|
*
|
|
4
|
-
* Extracted from
|
|
4
|
+
* Extracted from focus-executor.ts. Contains the core spawnFocusTeam
|
|
5
5
|
* function decomposed into phases: worktree setup, context fetching, session
|
|
6
6
|
* creation, and process spawning.
|
|
7
7
|
*/
|
|
@@ -11,19 +11,19 @@ import { join } from 'node:path';
|
|
|
11
11
|
import { createSession, updateSession, } from './supabase.js';
|
|
12
12
|
import { createWorktree, runGitSync, repoHasCommits } from './git.js';
|
|
13
13
|
import { installAuditPreCommitHook } from './audit-hooks.js';
|
|
14
|
-
import {
|
|
14
|
+
import { getFocusWorktree, setFocusWorktree } from './focus-worktree-state.js';
|
|
15
15
|
import { sendMessage } from '@telora/daemon-core';
|
|
16
16
|
import { recordActivity } from './heartbeat.js';
|
|
17
|
-
import {
|
|
18
|
-
import {
|
|
17
|
+
import { buildFocusTeamPrompt } from './focus-prompt-builder.js';
|
|
18
|
+
import { getFocusDeliveries, getFocusIssues, getProductContextForFocus, getProductDeploymentProfileSnapshot } from './queries/focuses.js';
|
|
19
19
|
import { buildSpawnEnvironment } from './spawn-environment.js';
|
|
20
20
|
import { sanitizeGitSegment } from './git-utils.js';
|
|
21
|
-
import {
|
|
21
|
+
import { recordFocusTeardown } from './spawn-cooldown.js';
|
|
22
22
|
import { consumePendingSpawnDirective } from './directive-executor.js';
|
|
23
23
|
import { isStatusAgentActionable, isStatusBlocking } from './stage-classifier.js';
|
|
24
|
-
import { getActiveTeams, deriveExecutionConfig, } from './
|
|
24
|
+
import { getActiveTeams, deriveExecutionConfig, } from './focus-team-state.js';
|
|
25
25
|
import { setupOutputMonitoring } from './output-monitor.js';
|
|
26
|
-
// ── Resource governor (optional, injected by
|
|
26
|
+
// ── Resource governor (optional, injected by FocusEngine) ─────────
|
|
27
27
|
let governor = null;
|
|
28
28
|
/** Inject the resource governor for global concurrency limiting. */
|
|
29
29
|
export function initGovernor(gov) {
|
|
@@ -35,13 +35,13 @@ export function getGovernor() {
|
|
|
35
35
|
}
|
|
36
36
|
// ── Team spawning helpers ─────────────────────────────────────────────
|
|
37
37
|
/**
|
|
38
|
-
* Generate branch name for
|
|
38
|
+
* Generate branch name for focus-level work.
|
|
39
39
|
*/
|
|
40
|
-
export function
|
|
40
|
+
export function generateFocusBranchName(role, focusName, focusId) {
|
|
41
41
|
const sanitizedRoleName = sanitizeGitSegment(role.name);
|
|
42
|
-
const shortId =
|
|
43
|
-
const
|
|
44
|
-
return `agent/${sanitizedRoleName}/${
|
|
42
|
+
const shortId = focusId.slice(0, 8);
|
|
43
|
+
const sanitizedFocusName = sanitizeGitSegment(focusName);
|
|
44
|
+
return `agent/${sanitizedRoleName}/${sanitizedFocusName}-${shortId}`;
|
|
45
45
|
}
|
|
46
46
|
/**
|
|
47
47
|
* Build Claude Code CLI arguments for the team lead.
|
|
@@ -68,41 +68,41 @@ export function buildTeamLeadArgs(config, pipelineConfig, resumeSessionId) {
|
|
|
68
68
|
}
|
|
69
69
|
// ── Phase functions ───────────────────────────────────────────────────
|
|
70
70
|
/**
|
|
71
|
-
* Set up or reuse a worktree for the
|
|
71
|
+
* Set up or reuse a worktree for the focus.
|
|
72
72
|
* Returns the worktree path, or null if setup fails.
|
|
73
73
|
*/
|
|
74
|
-
async function setupWorktree(config,
|
|
75
|
-
const existingWorktree =
|
|
74
|
+
async function setupWorktree(config, focusId, focusName, branchName, readOnly) {
|
|
75
|
+
const existingWorktree = getFocusWorktree(focusId);
|
|
76
76
|
if (existingWorktree) {
|
|
77
77
|
const worktreePath = existingWorktree.worktreePath;
|
|
78
|
-
// Rebase onto integration to pick up latest changes from other
|
|
78
|
+
// Rebase onto integration to pick up latest changes from other focuses
|
|
79
79
|
const rebaseResult = runGitSync(['rebase', config.integrationBranch], worktreePath);
|
|
80
80
|
if (!rebaseResult.success) {
|
|
81
81
|
runGitSync(['rebase', '--abort'], worktreePath);
|
|
82
|
-
console.warn(`[
|
|
82
|
+
console.warn(`[focus-executor] Rebase failed for "${focusName}", continuing with existing state`);
|
|
83
83
|
}
|
|
84
84
|
console.log(` Worktree (reused): ${worktreePath}`);
|
|
85
85
|
return worktreePath;
|
|
86
86
|
}
|
|
87
87
|
// Guard: can't create worktrees in a repo with no commits
|
|
88
88
|
if (!repoHasCommits(config.repoPath)) {
|
|
89
|
-
console.warn(`[
|
|
89
|
+
console.warn(`[focus-executor] Repository has no commits -- cannot create worktree for "${focusName}"`);
|
|
90
90
|
return null;
|
|
91
91
|
}
|
|
92
92
|
// Fallback: worktree doesn't exist yet (race condition or first poll)
|
|
93
|
-
console.warn(`[
|
|
93
|
+
console.warn(`[focus-executor] No persistent worktree for "${focusName}", creating inline`);
|
|
94
94
|
try {
|
|
95
95
|
const worktreePath = await createWorktree(config, branchName);
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
96
|
+
setFocusWorktree(focusId, {
|
|
97
|
+
focusId,
|
|
98
|
+
focusName,
|
|
99
99
|
worktreePath,
|
|
100
100
|
branchName,
|
|
101
101
|
createdAt: new Date(),
|
|
102
102
|
hasQaDevServer: false,
|
|
103
103
|
});
|
|
104
104
|
console.log(` Worktree (created inline): ${worktreePath}`);
|
|
105
|
-
// Install audit pre-commit hook for read-only
|
|
105
|
+
// Install audit pre-commit hook for read-only focuses
|
|
106
106
|
if (readOnly) {
|
|
107
107
|
installAuditPreCommitHook(worktreePath);
|
|
108
108
|
console.log(` Installed audit pre-commit hook (read-only mode)`);
|
|
@@ -110,20 +110,20 @@ async function setupWorktree(config, strategyId, strategyName, branchName, readO
|
|
|
110
110
|
return worktreePath;
|
|
111
111
|
}
|
|
112
112
|
catch (err) {
|
|
113
|
-
console.error(`[
|
|
113
|
+
console.error(`[focus-executor] Failed to create worktree for focus "${focusName}":`, err instanceof Error ? err.message : String(err));
|
|
114
114
|
return null;
|
|
115
115
|
}
|
|
116
116
|
}
|
|
117
117
|
/**
|
|
118
|
-
* Fetch all
|
|
118
|
+
* Fetch all focus context: deliveries, issues, product context, deployment profile.
|
|
119
119
|
*/
|
|
120
|
-
async function
|
|
120
|
+
async function fetchFocusContext(config, focusId, _focusName) {
|
|
121
121
|
const [deliveries, issues, productContextDocs, deploymentProfileSnapshot] = await Promise.all([
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
122
|
+
getFocusDeliveries(focusId),
|
|
123
|
+
getFocusIssues(focusId),
|
|
124
|
+
getProductContextForFocus(config.productId, focusId),
|
|
125
125
|
getProductDeploymentProfileSnapshot(config.productId).catch((err) => {
|
|
126
|
-
console.debug(`[
|
|
126
|
+
console.debug(`[focus-executor] Could not fetch deployment profile snapshot (non-fatal):`, err.message);
|
|
127
127
|
return null;
|
|
128
128
|
}),
|
|
129
129
|
]);
|
|
@@ -133,33 +133,33 @@ async function fetchStrategyContext(config, strategyId, _strategyName) {
|
|
|
133
133
|
* Create a session record for the team lead.
|
|
134
134
|
* Returns the session, or null if creation fails.
|
|
135
135
|
*/
|
|
136
|
-
async function createTeamSession(config, role,
|
|
136
|
+
async function createTeamSession(config, role, focusId, branchName, focusName, sessionType = 'coding') {
|
|
137
137
|
try {
|
|
138
138
|
const session = await createSession({
|
|
139
139
|
organizationId: config.organizationId,
|
|
140
140
|
roleId: role.id,
|
|
141
141
|
issueId: null,
|
|
142
|
-
|
|
142
|
+
focusId,
|
|
143
143
|
branchName,
|
|
144
144
|
sessionType,
|
|
145
145
|
});
|
|
146
146
|
return session;
|
|
147
147
|
}
|
|
148
148
|
catch (err) {
|
|
149
|
-
console.error(`[
|
|
149
|
+
console.error(`[focus-executor] Failed to create session for focus "${focusName}":`, err.message);
|
|
150
150
|
return null;
|
|
151
151
|
}
|
|
152
152
|
}
|
|
153
153
|
/**
|
|
154
154
|
* Open log file streams for the team lead process.
|
|
155
155
|
*/
|
|
156
|
-
function openLogStreams(config, branchName,
|
|
156
|
+
function openLogStreams(config, branchName, focusName) {
|
|
157
157
|
// Ensure log directory exists
|
|
158
158
|
if (!existsSync(config.logDir)) {
|
|
159
159
|
mkdirSync(config.logDir, { recursive: true, mode: 0o700 });
|
|
160
160
|
}
|
|
161
161
|
const timestamp = new Date().toISOString().replace(/[:.]/g, '-');
|
|
162
|
-
const logPrefix = `
|
|
162
|
+
const logPrefix = `focus-${branchName.replace(/\//g, '-')}-${timestamp}`;
|
|
163
163
|
const stdoutPath = join(config.logDir, `${logPrefix}.stdout.log`);
|
|
164
164
|
const stderrPath = join(config.logDir, `${logPrefix}.stderr.log`);
|
|
165
165
|
const jsonlPath = join(config.logDir, `${logPrefix}.stream.jsonl`);
|
|
@@ -168,13 +168,13 @@ function openLogStreams(config, branchName, strategyName) {
|
|
|
168
168
|
const jsonlStream = createWriteStream(jsonlPath, { mode: 0o600 });
|
|
169
169
|
// Attach error handlers to prevent unhandled 'error' events from crashing the daemon
|
|
170
170
|
stdoutLogStream.on('error', (err) => {
|
|
171
|
-
console.warn(`[
|
|
171
|
+
console.warn(`[focus-executor] stdout log stream error for "${focusName}": ${err.message}`);
|
|
172
172
|
});
|
|
173
173
|
stderrStream.on('error', (err) => {
|
|
174
|
-
console.warn(`[
|
|
174
|
+
console.warn(`[focus-executor] stderr log stream error for "${focusName}": ${err.message}`);
|
|
175
175
|
});
|
|
176
176
|
jsonlStream.on('error', (err) => {
|
|
177
|
-
console.warn(`[
|
|
177
|
+
console.warn(`[focus-executor] jsonl log stream error for "${focusName}": ${err.message}`);
|
|
178
178
|
});
|
|
179
179
|
return { stdoutLogStream, stderrStream, jsonlStream, stdoutPath, stderrPath };
|
|
180
180
|
}
|
|
@@ -182,23 +182,23 @@ function openLogStreams(config, branchName, strategyName) {
|
|
|
182
182
|
* Build args, env, acquire governor slot, and spawn the Claude Code process.
|
|
183
183
|
* Returns the child process, or null if governor denied the slot.
|
|
184
184
|
*/
|
|
185
|
-
async function buildAndSpawnProcess(config, pipelineConfig, resumeId, sessionId,
|
|
185
|
+
async function buildAndSpawnProcess(config, pipelineConfig, resumeId, sessionId, focusId, focusName, worktreePath) {
|
|
186
186
|
const args = buildTeamLeadArgs(config, pipelineConfig, resumeId);
|
|
187
187
|
if (resumeId) {
|
|
188
|
-
console.log(`[
|
|
188
|
+
console.log(`[focus-executor] Resuming Claude session ${resumeId} for "${focusName}"`);
|
|
189
189
|
}
|
|
190
190
|
const spawnEnv = buildSpawnEnvironment(config, {
|
|
191
191
|
orgId: config.organizationId,
|
|
192
|
-
|
|
192
|
+
focusId,
|
|
193
193
|
sessionId,
|
|
194
194
|
});
|
|
195
195
|
// Acquire governor slot (if governor is configured)
|
|
196
196
|
if (governor) {
|
|
197
197
|
try {
|
|
198
|
-
await governor.acquireSlot('
|
|
198
|
+
await governor.acquireSlot('focus');
|
|
199
199
|
}
|
|
200
200
|
catch (err) {
|
|
201
|
-
console.warn(`[
|
|
201
|
+
console.warn(`[focus-executor] Governor denied slot for "${focusName}":`, err.message);
|
|
202
202
|
return null;
|
|
203
203
|
}
|
|
204
204
|
}
|
|
@@ -212,25 +212,25 @@ async function buildAndSpawnProcess(config, pipelineConfig, resumeId, sessionId,
|
|
|
212
212
|
}
|
|
213
213
|
// ── Main spawn function ───────────────────────────────────────────────
|
|
214
214
|
/**
|
|
215
|
-
* Spawn a
|
|
215
|
+
* Spawn a focus team to execute all deliveries in a focus.
|
|
216
216
|
*
|
|
217
217
|
* Creates a single Agent Team (lead process) that reads all deliveries
|
|
218
218
|
* and issues, builds a task DAG, and coordinates worker execution.
|
|
219
219
|
*/
|
|
220
|
-
export async function
|
|
221
|
-
const { config,
|
|
220
|
+
export async function spawnFocusTeam(params) {
|
|
221
|
+
const { config, focusId, focusName, role, pipelineConfig, readOnly = false, lastClaudeSessionId } = params;
|
|
222
222
|
const activeTeams = getActiveTeams();
|
|
223
223
|
// Prevent double-spawn
|
|
224
|
-
if (activeTeams.has(
|
|
225
|
-
console.warn(`[
|
|
224
|
+
if (activeTeams.has(focusId)) {
|
|
225
|
+
console.warn(`[focus-executor] Team already active for focus "${focusName}", skipping spawn`);
|
|
226
226
|
return;
|
|
227
227
|
}
|
|
228
228
|
const executionConfig = deriveExecutionConfig(pipelineConfig);
|
|
229
|
-
const branchName =
|
|
229
|
+
const branchName = generateFocusBranchName(role, focusName, focusId);
|
|
230
230
|
// Initialize team state
|
|
231
231
|
const teamState = {
|
|
232
|
-
|
|
233
|
-
|
|
232
|
+
focusId,
|
|
233
|
+
focusName,
|
|
234
234
|
roleId: role.id,
|
|
235
235
|
roleName: role.name,
|
|
236
236
|
organizationId: config.organizationId,
|
|
@@ -241,6 +241,7 @@ export async function spawnStrategyTeam(params) {
|
|
|
241
241
|
phase: 'initializing',
|
|
242
242
|
knownDeliveryIds: new Set(),
|
|
243
243
|
mergedDeliveryIds: new Set(),
|
|
244
|
+
planningPhase: false,
|
|
244
245
|
shutdownReason: null,
|
|
245
246
|
deliveryStageIds: new Map(),
|
|
246
247
|
leadSessionId: null,
|
|
@@ -252,29 +253,31 @@ export async function spawnStrategyTeam(params) {
|
|
|
252
253
|
readOnly,
|
|
253
254
|
completionDetector: null,
|
|
254
255
|
claudeSessionId: null,
|
|
256
|
+
lastProgressSnapshot: null,
|
|
257
|
+
noProgressCycles: 0,
|
|
255
258
|
};
|
|
256
|
-
activeTeams.set(
|
|
257
|
-
console.log(`[
|
|
259
|
+
activeTeams.set(focusId, teamState);
|
|
260
|
+
console.log(`[focus-executor] Spawning team for focus "${focusName}"${readOnly ? ' [READ-ONLY]' : ''}`);
|
|
258
261
|
console.log(` Role: ${role.name}`);
|
|
259
262
|
console.log(` Model: ${pipelineConfig?.model ?? '(CLI default)'}`);
|
|
260
263
|
console.log(` Max workers: ${executionConfig.maxWorkers}`);
|
|
261
264
|
console.log(` Branch: ${branchName}`);
|
|
262
|
-
// Fetch all deliveries, issues, product context, and deployment profile for the
|
|
265
|
+
// Fetch all deliveries, issues, product context, and deployment profile for the focus
|
|
263
266
|
let deliveries;
|
|
264
267
|
let issues;
|
|
265
268
|
let productContextDocs;
|
|
266
269
|
let deploymentProfileSnapshot;
|
|
267
270
|
try {
|
|
268
271
|
({ deliveries, issues, productContextDocs, deploymentProfileSnapshot } =
|
|
269
|
-
await
|
|
272
|
+
await fetchFocusContext(config, focusId, focusName));
|
|
270
273
|
}
|
|
271
274
|
catch (err) {
|
|
272
|
-
console.error(`[
|
|
273
|
-
activeTeams.delete(
|
|
275
|
+
console.error(`[focus-executor] Failed to fetch context for focus "${focusName}":`, err.message);
|
|
276
|
+
activeTeams.delete(focusId);
|
|
274
277
|
return;
|
|
275
278
|
}
|
|
276
279
|
// Check for pending spawn directive (e.g., stage directive spawn)
|
|
277
|
-
const pendingDirective = consumePendingSpawnDirective(
|
|
280
|
+
const pendingDirective = consumePendingSpawnDirective(focusId);
|
|
278
281
|
// Pre-spawn guard: enforce rank-ordered execution.
|
|
279
282
|
// Walk deliveries in priority_rank order (already sorted by API).
|
|
280
283
|
// A delivery is actionable only if all lower-ranked deliveries are non-blocking.
|
|
@@ -290,19 +293,20 @@ export async function spawnStrategyTeam(params) {
|
|
|
290
293
|
}
|
|
291
294
|
else {
|
|
292
295
|
// Blocking status (planning, paused) prevents subsequent deliveries
|
|
293
|
-
console.log(`[
|
|
294
|
-
`is in "${status}" state -- blocking subsequent deliveries in
|
|
296
|
+
console.log(`[focus-executor] Delivery "${d.name}" (rank ${d.priorityRank}) ` +
|
|
297
|
+
`is in "${status}" state -- blocking subsequent deliveries in focus "${focusName}"`);
|
|
295
298
|
}
|
|
296
299
|
break;
|
|
297
300
|
}
|
|
298
301
|
if (!nextActionable || !isStatusAgentActionable(nextActionable.executionStatus ?? '')) {
|
|
299
|
-
console.log(`[
|
|
300
|
-
activeTeams.delete(
|
|
302
|
+
console.log(`[focus-executor] No actionable deliveries for focus "${focusName}" -- skipping spawn`);
|
|
303
|
+
activeTeams.delete(focusId);
|
|
301
304
|
return;
|
|
302
305
|
}
|
|
303
306
|
}
|
|
304
307
|
const actionableDeliveries = deliveries.filter(d => isStatusAgentActionable(d.executionStatus ?? ''));
|
|
305
|
-
// Track known deliveries, pre-populate already-completed ones
|
|
308
|
+
// Track known deliveries, pre-populate already-completed ones.
|
|
309
|
+
// Empty deliveries (planning spawn) yields zero iterations.
|
|
306
310
|
for (const d of deliveries) {
|
|
307
311
|
teamState.knownDeliveryIds.add(d.id);
|
|
308
312
|
teamState.deliveryStageIds.set(d.id, d.currentWorkflowStageId);
|
|
@@ -313,27 +317,27 @@ export async function spawnStrategyTeam(params) {
|
|
|
313
317
|
console.log(` Deliveries: ${deliveries.length} (${actionableDeliveries.length} queued)`);
|
|
314
318
|
console.log(` Issues: ${issues.length}`);
|
|
315
319
|
// Set up worktree
|
|
316
|
-
const worktreePath = await setupWorktree(config,
|
|
320
|
+
const worktreePath = await setupWorktree(config, focusId, focusName, branchName, readOnly);
|
|
317
321
|
if (!worktreePath) {
|
|
318
|
-
activeTeams.delete(
|
|
322
|
+
activeTeams.delete(focusId);
|
|
319
323
|
// Record a cooldown so the daemon backs off instead of retrying every poll cycle
|
|
320
|
-
|
|
324
|
+
recordFocusTeardown(focusId);
|
|
321
325
|
return;
|
|
322
326
|
}
|
|
323
327
|
teamState.worktreePath = worktreePath;
|
|
324
328
|
// Create session record for the team lead
|
|
325
|
-
const session = await createTeamSession(config, role,
|
|
329
|
+
const session = await createTeamSession(config, role, focusId, branchName, focusName, 'coding');
|
|
326
330
|
if (!session) {
|
|
327
|
-
// Worktree is
|
|
328
|
-
activeTeams.delete(
|
|
331
|
+
// Worktree is focus-owned and persists even if session creation fails
|
|
332
|
+
activeTeams.delete(focusId);
|
|
329
333
|
return;
|
|
330
334
|
}
|
|
331
335
|
teamState.leadSessionId = session.id;
|
|
332
336
|
recordActivity();
|
|
333
|
-
// Build the team lead prompt with full
|
|
334
|
-
const prompt =
|
|
335
|
-
|
|
336
|
-
|
|
337
|
+
// Build the team lead prompt with full focus context
|
|
338
|
+
const prompt = buildFocusTeamPrompt(role, {
|
|
339
|
+
focusId,
|
|
340
|
+
focusName,
|
|
337
341
|
organizationId: config.organizationId,
|
|
338
342
|
productId: config.productId,
|
|
339
343
|
deliveries,
|
|
@@ -345,7 +349,7 @@ export async function spawnStrategyTeam(params) {
|
|
|
345
349
|
readOnly,
|
|
346
350
|
});
|
|
347
351
|
// Open log streams
|
|
348
|
-
const logStreams = openLogStreams(config, branchName,
|
|
352
|
+
const logStreams = openLogStreams(config, branchName, focusName);
|
|
349
353
|
// Build args and env, acquire governor slot, spawn process
|
|
350
354
|
// Never resume when spawning for a directive (fresh session)
|
|
351
355
|
const resumeId = pendingDirective ? null : (lastClaudeSessionId ?? null);
|
|
@@ -360,9 +364,9 @@ export async function spawnStrategyTeam(params) {
|
|
|
360
364
|
const effectivePipelineConfig = pendingDirective?.model
|
|
361
365
|
? { ...pipelineConfig, model: pendingDirective.model }
|
|
362
366
|
: pipelineConfig;
|
|
363
|
-
const proc = await buildAndSpawnProcess(config, effectivePipelineConfig, resumeId, session.id,
|
|
367
|
+
const proc = await buildAndSpawnProcess(config, effectivePipelineConfig, resumeId, session.id, focusId, focusName, worktreePath);
|
|
364
368
|
if (!proc) {
|
|
365
|
-
activeTeams.delete(
|
|
369
|
+
activeTeams.delete(focusId);
|
|
366
370
|
logStreams.stdoutLogStream.end();
|
|
367
371
|
logStreams.stderrStream.end();
|
|
368
372
|
logStreams.jsonlStream.end();
|
|
@@ -375,8 +379,8 @@ export async function spawnStrategyTeam(params) {
|
|
|
375
379
|
const { completionDetector, activityTracker } = setupOutputMonitoring({
|
|
376
380
|
proc,
|
|
377
381
|
teamState,
|
|
378
|
-
|
|
379
|
-
|
|
382
|
+
focusId,
|
|
383
|
+
focusName,
|
|
380
384
|
sessionId: session.id,
|
|
381
385
|
logStreams,
|
|
382
386
|
});
|
|
@@ -386,7 +390,7 @@ export async function spawnStrategyTeam(params) {
|
|
|
386
390
|
sendMessage(proc.stdin, prompt);
|
|
387
391
|
// If a spawn directive is pending, send its assembled content as a follow-up message
|
|
388
392
|
if (pendingDirective && pendingDirective.message.trim()) {
|
|
389
|
-
console.log(`[
|
|
393
|
+
console.log(`[focus-executor] Sending pending spawn directive to "${focusName}" ` +
|
|
390
394
|
`(${pendingDirective.message.length} chars, model: ${pendingDirective.model ?? 'default'})`);
|
|
391
395
|
sendMessage(proc.stdin, pendingDirective.message);
|
|
392
396
|
}
|
|
@@ -395,7 +399,7 @@ export async function spawnStrategyTeam(params) {
|
|
|
395
399
|
status: 'running',
|
|
396
400
|
pid: proc.pid,
|
|
397
401
|
});
|
|
398
|
-
console.log(`[
|
|
402
|
+
console.log(`[focus-executor] Team lead spawned for "${focusName}" (PID: ${proc.pid}, session: ${session.id})`);
|
|
399
403
|
// Set up session lifecycle handlers (completion, close, error)
|
|
400
404
|
const { attachSessionLifecycle } = await import('./session-lifecycle.js');
|
|
401
405
|
attachSessionLifecycle({
|
|
@@ -403,8 +407,8 @@ export async function spawnStrategyTeam(params) {
|
|
|
403
407
|
params,
|
|
404
408
|
teamState,
|
|
405
409
|
sessionId: session.id,
|
|
406
|
-
|
|
407
|
-
|
|
410
|
+
focusId,
|
|
411
|
+
focusName,
|
|
408
412
|
completionDetector,
|
|
409
413
|
activityTracker,
|
|
410
414
|
logStreams,
|
package/dist/team-spawner.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"team-spawner.js","sourceRoot":"","sources":["../src/team-spawner.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"team-spawner.js","sourceRoot":"","sources":["../src/team-spawner.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
*/
|
|
8
8
|
export interface TelemetryMetricRow {
|
|
9
9
|
organization_id: string;
|
|
10
|
-
|
|
10
|
+
focus_id: string | null;
|
|
11
11
|
delivery_id: string | null;
|
|
12
12
|
session_id: string | null;
|
|
13
13
|
input_tokens: number;
|
|
@@ -25,7 +25,7 @@ export interface TelemetryMetricRow {
|
|
|
25
25
|
}
|
|
26
26
|
export interface TelemetryEventRow {
|
|
27
27
|
organization_id: string;
|
|
28
|
-
|
|
28
|
+
focus_id: string | null;
|
|
29
29
|
delivery_id: string | null;
|
|
30
30
|
session_id: string | null;
|
|
31
31
|
event_type: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"telemetry-writer.d.ts","sourceRoot":"","sources":["../src/telemetry-writer.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,MAAM,WAAW,kBAAkB;IACjC,eAAe,EAAE,MAAM,CAAC;IACxB,
|
|
1
|
+
{"version":3,"file":"telemetry-writer.d.ts","sourceRoot":"","sources":["../src/telemetry-writer.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,MAAM,WAAW,kBAAkB;IACjC,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACzC,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACzC,eAAe,EAAE,MAAM,CAAC;CACzB;AAWD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAO5D;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,kBAAkB,GAAG,IAAI,CAO1D;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,iBAAiB,GAAG,IAAI,CAOxD;AAED;;GAEG;AACH,wBAAsB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CA0C3C;AAED;;GAEG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CAMzD;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAEpE"}
|
|
@@ -21,8 +21,8 @@ work happens at the difference.
|
|
|
21
21
|
|
|
22
22
|
## Planning hierarchy
|
|
23
23
|
|
|
24
|
-
- **
|
|
25
|
-
in one
|
|
24
|
+
- **Focus** = one capability. All phases of building one thing belong
|
|
25
|
+
in one focus. Focuses are not phases; if a focus looks like a
|
|
26
26
|
phase, consolidate it.
|
|
27
27
|
- **Delivery** = a shippable phase or major component of a capability.
|
|
28
28
|
- **Context Group** = optional grouping of related issues that share
|
|
@@ -46,7 +46,7 @@ Movement rules:
|
|
|
46
46
|
- Never skip \`In Progress\`. Never move directly from \`To Do\` to \`Done\`.
|
|
47
47
|
- Set status with \`telora_product_issue\` action=update.
|
|
48
48
|
|
|
49
|
-
Delivery and
|
|
49
|
+
Delivery and focus stages advance automatically based on issue
|
|
50
50
|
activity. Agents never set delivery executionStatus directly.
|
|
51
51
|
|
|
52
52
|
## MCP tool surface (what's available in this session)
|
|
@@ -54,8 +54,8 @@ activity. Agents never set delivery executionStatus directly.
|
|
|
54
54
|
The Telora MCP server is registered in \`.mcp.json\`. Core tool families:
|
|
55
55
|
|
|
56
56
|
- \`telora_product\` -- list/get/create/update products
|
|
57
|
-
- \`
|
|
58
|
-
- \`telora_product_delivery\` -- deliveries under a
|
|
57
|
+
- \`telora_product_focus\` -- focuses under a product
|
|
58
|
+
- \`telora_product_delivery\` -- deliveries under a focus
|
|
59
59
|
- \`telora_product_issue\` -- issues (Context Groups, Tasks, Bugs) under a delivery
|
|
60
60
|
- \`telora_objective\` / \`telora_key_result\` -- OKRs
|
|
61
61
|
- \`telora_agent\` -- agent roles, escalation requests
|
|
@@ -71,14 +71,14 @@ hard-coding a list that drifts.
|
|
|
71
71
|
|
|
72
72
|
- Humans own **intent** and **completion**.
|
|
73
73
|
- Intent: what capability matters, what changes when. Pre-handoff.
|
|
74
|
-
- Completion: closing the loop on whether a
|
|
74
|
+
- Completion: closing the loop on whether a focus is done. Post-handoff.
|
|
75
75
|
- Agents own **scoping** and **execution**.
|
|
76
|
-
- Scoping: decomposing a
|
|
76
|
+
- Scoping: decomposing a focus into deliveries, deliveries into
|
|
77
77
|
issues, restructuring mid-flight as the agent learns more.
|
|
78
78
|
- Execution: writing code, running tests, committing, reporting.
|
|
79
79
|
|
|
80
80
|
Do not ask humans for operational details they expect the agent to figure
|
|
81
|
-
out. Do not silently complete a
|
|
81
|
+
out. Do not silently complete a focus on the human's behalf. Escalate
|
|
82
82
|
when stuck via \`telora_agent\` action=escalate.
|
|
83
83
|
|
|
84
84
|
## Differential signaling
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* tool call.
|
|
6
6
|
*
|
|
7
7
|
* Rule of thumb for what goes in here: any read or routine write the agent
|
|
8
|
-
* is *expected* to make as part of a normal product/
|
|
8
|
+
* is *expected* to make as part of a normal product/focus/delivery/issue
|
|
9
9
|
* cycle. Operations that warrant human awareness (deletes, escalations,
|
|
10
10
|
* arbitrary shell, network calls outside Telora) stay un-allowlisted so
|
|
11
11
|
* the user is prompted.
|