Keep critique's report out of the question's message

The critique report and the AskUserQuestion call shipped in one assistant
message, so the report stayed hidden until the user answered the picker and
the command read as if it had never run.

Reorder critique's persistence steps so the temp-file cleanup runs after the
report and trend line are sent. That cleanup now ends the message carrying the
report, leaving the questions to open a fresh one. Both critique.md and
overdrive.md state the constraint and why it exists, so the ordering is not an
unexplained sequence a model can optimize away. Overdrive additionally moves
its direction descriptions inside the question options, where the user is
actually reading them.

Also fix the ask_instruction splices. The placeholder is a complete sentence,
but five call sites spliced it mid-sentence and shipped text like "stop and
STOP and call the AskUserQuestion tool to clarify. before expanding it". Every
call site is now sentence-initial and the twelve lowercase provider values are
capitalized to match, with a comment in utils.js pinning the contract.

Record a workflow-contract baseline for the current model lineup. The two
failures seen while validating this change are pre-existing: bolder refinement
fails on deepseek-v4-flash identically with bolder.md reverted to HEAD, and
redesign replaces DESIGN is flaky on assertions driven by new-work.md, which
this change does not touch.

Prepared with AI assistance (Claude Code).

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Paul Bakaus
2026-08-13 01:06:33 -04:00
co-authored by Claude Opus 5
parent bd25359748
commit 0e5c6cbe17
10 changed files with 83 additions and 22 deletions
+13 -11
View File
@@ -465,31 +465,33 @@ export const PROVIDER_PLACEHOLDERS = {
'cursor': {
model: 'the model',
config_file: '.cursorrules',
ask_instruction: 'ask the user directly to clarify what you cannot infer.',
ask_instruction: 'Ask the user directly to clarify what you cannot infer.',
command_prefix: '/'
},
'gemini': {
model: 'Gemini',
config_file: 'GEMINI.md',
ask_instruction: 'ask the user directly to clarify what you cannot infer.',
ask_instruction: 'Ask the user directly to clarify what you cannot infer.',
command_prefix: '/'
},
'codex': {
model: 'GPT',
config_file: 'AGENTS.md',
// Every {{ask_instruction}} call site is sentence-initial, so each value is a
// complete capitalized sentence. Keep it that way when adding a provider.
ask_instruction: "STOP and use Codex's structured user-input/question tool when available; if unavailable, ask directly in chat to clarify what you cannot infer.",
command_prefix: '$'
},
'agents': {
model: 'the model',
config_file: '.github/copilot-instructions.md',
ask_instruction: 'ask the user directly to clarify what you cannot infer.',
ask_instruction: 'Ask the user directly to clarify what you cannot infer.',
command_prefix: '/'
},
'kiro': {
model: 'Claude',
config_file: '.kiro/settings.json',
ask_instruction: 'ask the user directly to clarify what you cannot infer.',
ask_instruction: 'Ask the user directly to clarify what you cannot infer.',
command_prefix: '/'
},
opencode: {
@@ -501,31 +503,31 @@ export const PROVIDER_PLACEHOLDERS = {
'pi': {
model: 'the model',
config_file: 'AGENTS.md',
ask_instruction: 'ask the user directly to clarify what you cannot infer.',
ask_instruction: 'Ask the user directly to clarify what you cannot infer.',
command_prefix: '/'
},
'qoder': {
model: 'the model',
config_file: 'AGENTS.md',
ask_instruction: 'ask the user directly to clarify what you cannot infer.',
ask_instruction: 'Ask the user directly to clarify what you cannot infer.',
command_prefix: '/'
},
'trae': {
model: 'the model',
config_file: 'RULES.md',
ask_instruction: 'ask the user directly to clarify what you cannot infer.',
ask_instruction: 'Ask the user directly to clarify what you cannot infer.',
command_prefix: '/'
},
'rovo-dev': {
model: 'Rovo Dev',
config_file: 'AGENTS.md',
ask_instruction: 'ask the user directly to clarify what you cannot infer.',
ask_instruction: 'Ask the user directly to clarify what you cannot infer.',
command_prefix: '/'
},
'vibe': {
model: 'Mistral',
config_file: 'AGENTS.md',
ask_instruction: 'ask the user directly to clarify what you cannot infer.',
ask_instruction: 'Ask the user directly to clarify what you cannot infer.',
command_prefix: '/'
},
'grok': {
@@ -537,7 +539,7 @@ export const PROVIDER_PLACEHOLDERS = {
'antigravity': {
model: 'Gemini',
config_file: 'AGENTS.md',
ask_instruction: 'ask the user directly to clarify what you cannot infer.',
ask_instruction: 'Ask the user directly to clarify what you cannot infer.',
command_prefix: '/'
},
'hermes': {
@@ -546,7 +548,7 @@ export const PROVIDER_PLACEHOLDERS = {
// for harnesses without a vendor-fixed assistant name.
model: 'the model',
config_file: 'AGENTS.md',
ask_instruction: 'ask the user directly to clarify what you cannot infer.',
ask_instruction: 'Ask the user directly to clarify what you cannot infer.',
command_prefix: '/'
}
};