diff --git a/src/resources/extensions/sf/operating-model.js b/src/resources/extensions/sf/operating-model.js index ffd6b4b9c..132d141fe 100644 --- a/src/resources/extensions/sf/operating-model.js +++ b/src/resources/extensions/sf/operating-model.js @@ -102,23 +102,15 @@ export function resolveWorkMode(value) { export const SF_MODE_PRESETS = Object.freeze({ ask: { label: "Ask", - description: "Explore, understand, and discuss — SF stays conversational", + description: "Explore, discuss, and plan — user is driving, SF assists", workMode: "chat", runControl: "manual", modelMode: "fast", permissionProfile: "normal", }, - plan: { - label: "Plan", - description: "Think through structure and approach before acting", - workMode: "plan", - runControl: "assisted", - modelMode: "smart", - permissionProfile: "normal", - }, build: { label: "Build", - description: "Execute autonomously — SF biases toward action, no permission prompts", + description: "SF executes autonomously — user steps back, no permission prompts", workMode: "build", runControl: "autonomous", modelMode: "smart", diff --git a/src/resources/extensions/sf/steerable-autonomous-extension.js b/src/resources/extensions/sf/steerable-autonomous-extension.js index 585eb98a8..174643c71 100644 --- a/src/resources/extensions/sf/steerable-autonomous-extension.js +++ b/src/resources/extensions/sf/steerable-autonomous-extension.js @@ -32,7 +32,7 @@ export default function steerableAutonomousExtension(api) { // Handle key events - Shift+Tab and Ctrl+Y api.registerShortcut("shift+tab", { description: - "Cycle mode (Ask → Plan → Build) or open steerable panel during autonomous", + "Cycle mode (Ask ↔ Build) or open steerable panel during autonomous", handler: async (event, ctx) => { if (isAutonomousActive) { // During autonomous execution: toggle steering panel @@ -81,21 +81,19 @@ export default function steerableAutonomousExtension(api) { handler: async (event, ctx) => { const session = getAutoSession(); // Toggle full-autonomy preset in AutoSession (handles mode slam + restore) + const wasAsk = session.getMode().workMode !== "build"; const enabled = session.toggleYolo(); // Also toggle settingsManager for safe-git prompt bypass if (ctx.settingsManager && ctx.settingsManager.toggleYOLO) { ctx.settingsManager.toggleYOLO(); } if (enabled) { - ctx.ui.notify( - "🚀 YOLO ON — build · autonomous · deep · unrestricted · no git prompts", - "success", - ); + const msg = wasAsk + ? "🚀 YOLO — switched to Build · autonomous · deep · unrestricted" + : "🚀 YOLO — autonomous · deep · unrestricted · no git prompts"; + ctx.ui.notify(msg, "success"); } else { - ctx.ui.notify( - "YOLO OFF — mode restored", - "info", - ); + ctx.ui.notify("YOLO OFF — mode restored", "info"); } }, });