feat(FN-4153): complete Step 1 — add ephemeralAgentsEnabled project setting
Fusion-Task-Id: FN-4153 Fusion-Task-Lineage: 6ec09467-c7a0-4a9d-9a09-16d5ef6f7a86
This commit is contained in:
@@ -79,6 +79,12 @@ describe("settings key parity", () => {
|
||||
expect(isGlobalSettingsKey("executorAllowSiblingBranchRename")).toBe(false);
|
||||
});
|
||||
|
||||
it("defaults ephemeralAgentsEnabled to true and keeps it project-scoped", () => {
|
||||
expect(DEFAULT_PROJECT_SETTINGS.ephemeralAgentsEnabled).toBe(true);
|
||||
expect(isProjectSettingsKey("ephemeralAgentsEnabled")).toBe(true);
|
||||
expect(isGlobalSettingsKey("ephemeralAgentsEnabled")).toBe(false);
|
||||
});
|
||||
|
||||
it("defaults completionDocumentationMode to off", () => {
|
||||
expect(DEFAULT_PROJECT_SETTINGS.completionDocumentationMode).toBe("off");
|
||||
});
|
||||
|
||||
@@ -222,6 +222,7 @@ export const DEFAULT_PROJECT_SETTINGS = {
|
||||
verificationFixRetries: 3,
|
||||
buildTimeoutMs: 300_000,
|
||||
requirePlanApproval: false,
|
||||
ephemeralAgentsEnabled: true,
|
||||
agentProvisioning: {},
|
||||
specStalenessEnabled: false,
|
||||
specStalenessMaxAgeMs: 6 * 60 * 60 * 1000,
|
||||
|
||||
@@ -2248,6 +2248,12 @@ export interface ProjectSettings {
|
||||
* remain in triage with status "awaiting-approval" until a user approves
|
||||
* or rejects the plan. Default: false. */
|
||||
requirePlanApproval?: boolean;
|
||||
/** Controls task-worker execution mode.
|
||||
* - true (default): spawn short-lived `executor-FN-XXXX` ephemeral workers per task
|
||||
* - false: disable ephemeral workers; scheduler auto-assigns dispatchable tasks
|
||||
* to permanent executor agents using the reporting chain heuristic.
|
||||
* Tasks without an eligible permanent executor remain queued. */
|
||||
ephemeralAgentsEnabled?: boolean;
|
||||
/** Approval policy for agent provisioning tools (fn_agent_create/fn_agent_delete). */
|
||||
agentProvisioning?: {
|
||||
approvalMode?: AgentProvisioningApprovalMode;
|
||||
|
||||
Reference in New Issue
Block a user