merge: resolve conflicts with dev branch

Keep both spec-driven tests (feature) and anti-duplication tests (dev).
Adopt dev's hyphen formatting in interview-mode while preserving Spec-Driven intent type.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
SwiggitySwerve
2026-04-03 22:37:53 -06:00
1074 changed files with 124394 additions and 17590 deletions
+23 -5
View File
@@ -50,20 +50,38 @@ export function getPrometheusPromptSource(model?: string): PrometheusPromptSourc
/**
* Gets the appropriate Prometheus prompt based on model.
* GPT models → GPT-5.2 optimized prompt (XML-tagged, principle-driven)
* GPT models → GPT-5.4 optimized prompt (XML-tagged, principle-driven)
* Gemini models → Gemini-optimized prompt (aggressive tool-call enforcement, thinking checkpoints)
* Default (Claude, etc.) → Claude-optimized prompt (modular sections)
*/
export function getPrometheusPrompt(model?: string): string {
export function getPrometheusPrompt(model?: string, disabledTools?: readonly string[]): string {
const source = getPrometheusPromptSource(model)
const isQuestionDisabled = disabledTools?.includes("question") ?? false
let prompt: string
switch (source) {
case "gpt":
return getGptPrometheusPrompt()
prompt = getGptPrometheusPrompt()
break
case "gemini":
return getGeminiPrometheusPrompt()
prompt = getGeminiPrometheusPrompt()
break
case "default":
default:
return PROMETHEUS_SYSTEM_PROMPT
prompt = PROMETHEUS_SYSTEM_PROMPT
}
if (isQuestionDisabled) {
prompt = stripQuestionToolReferences(prompt)
}
return prompt
}
/**
* Removes Question tool usage examples from prompt text when question tool is disabled.
*/
function stripQuestionToolReferences(prompt: string): string {
// Remove Question({...}) code blocks (multi-line)
return prompt.replace(/```typescript\n\s*Question\(\{[\s\S]*?\}\)\s*\n```/g, "")
}