fix(skills): reject execute without explicit confirm

This commit is contained in:
William Valentin
2026-02-12 20:59:11 -08:00
parent 81d5c4d730
commit 8c4ac2cb00
3 changed files with 88 additions and 2 deletions
+11 -2
View File
@@ -1486,6 +1486,15 @@
"src/cli/skills.test.ts"
],
"test_status": "pnpm typecheck + pnpm test:run src/cli/skills.test.ts + pnpm test:run + pnpm lint (warnings only, 0 errors) + pnpm build passing"
},
"skills_execute_without_confirm_guardrails": {
"status": "completed",
"description": "Added explicit user-facing CLI guardrails for invalid execution opt-in (`--execute` without `--confirm`) on both install and execute commands, with deterministic error messaging and exit status coverage",
"files_modified": [
"src/cli/skills.ts",
"src/cli/skills.test.ts"
],
"test_status": "pnpm typecheck + pnpm test:run src/cli/skills.test.ts + pnpm test:run + pnpm lint (warnings only, 0 errors) + pnpm build passing"
}
}
}
@@ -1514,7 +1523,7 @@
},
"overall_progress": {
"total_test_count": 1553,
"total_test_count": 1555,
"all_tests_passing": true,
"p0_completion": "3/3 (100%)",
"p1_completion": "4/4 (100%)",
@@ -1534,7 +1543,7 @@
"gmail_auth_cli": "flynn gmail-auth command implemented with OAuth2 flow, doctor check, config routed to Telegram",
"native_audio_support": "completed — smart routing for native audio (Gemini/OpenAI/GitHub) vs Whisper transcription fallback",
"remaining_phases_completion": "Phase 1: 3/3 (100%) — context levels, command registry, memory structure. Phase 2: 2/2 (100%) — component registry, confidence routing. Phase 3: 2/2 (100%) — adaptive memory/compaction, truthfulness/autonomy hardening",
"next_up": "Skills infrastructure Phase 3: add explicit user-facing error messaging/tests for invalid `--execute` usage patterns (for example, `--execute` without `--confirm`) and runner/result edge-case receipts"
"next_up": "Skills infrastructure Phase 3: add edge-case receipt tests for partial/missing runner results and deterministic fallback reasons across install/execute flows"
},
"soul_md_and_cron_create": {
"date": "2026-02-11",