refactor(runtime): replace unicode dashes in prompt strings
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
This commit is contained in:
@@ -41,30 +41,30 @@ Then ACTUALLY CALL those tools using the JSON tool schema. Produce the tool_use
|
||||
|
||||
export function buildGeminiToolGuide(): string {
|
||||
return `<GEMINI_TOOL_GUIDE>
|
||||
## Tool Usage Guide — WHEN and HOW to Call Each Tool
|
||||
## Tool Usage Guide - WHEN and HOW to Call Each Tool
|
||||
|
||||
You have access to tools via function calling. This guide defines WHEN to call each one.
|
||||
**Violating these patterns = failed response.**
|
||||
|
||||
### Reading & Search (ALWAYS parallelizable — call multiple simultaneously)
|
||||
### Reading & Search (ALWAYS parallelizable - call multiple simultaneously)
|
||||
|
||||
| Tool | When to Call | Parallel? |
|
||||
|---|---|---|
|
||||
| \`Read\` | Before making ANY claim about file contents. Before editing any file. | ✅ Yes — read multiple files at once |
|
||||
| \`Grep\` | Finding patterns, imports, usages across codebase. BEFORE claiming "X is used in Y". | ✅ Yes — run multiple greps at once |
|
||||
| \`Glob\` | Finding files by name/extension pattern. BEFORE claiming "file X exists". | ✅ Yes — run multiple globs at once |
|
||||
| \`Read\` | Before making ANY claim about file contents. Before editing any file. | ✅ Yes - read multiple files at once |
|
||||
| \`Grep\` | Finding patterns, imports, usages across codebase. BEFORE claiming "X is used in Y". | ✅ Yes - run multiple greps at once |
|
||||
| \`Glob\` | Finding files by name/extension pattern. BEFORE claiming "file X exists". | ✅ Yes - run multiple globs at once |
|
||||
| \`AstGrepSearch\` | Finding code patterns with AST awareness (structural matches). | ✅ Yes |
|
||||
|
||||
### Code Intelligence (parallelizable on different files)
|
||||
|
||||
| Tool | When to Call | Parallel? |
|
||||
|---|---|---|
|
||||
| \`LspDiagnostics\` | **AFTER EVERY edit.** BEFORE claiming task is done. MANDATORY. | ✅ Yes — different files |
|
||||
| \`LspDiagnostics\` | **AFTER EVERY edit.** BEFORE claiming task is done. MANDATORY. | ✅ Yes - different files |
|
||||
| \`LspGotoDefinition\` | Finding where a symbol is defined. | ✅ Yes |
|
||||
| \`LspFindReferences\` | Finding all usages of a symbol across workspace. | ✅ Yes |
|
||||
| \`LspSymbols\` | Getting file outline or searching workspace symbols. | ✅ Yes |
|
||||
|
||||
### Editing (SEQUENTIAL — must Read first)
|
||||
### Editing (SEQUENTIAL - must Read first)
|
||||
|
||||
| Tool | When to Call | Parallel? |
|
||||
|---|---|---|
|
||||
@@ -78,7 +78,7 @@ You have access to tools via function calling. This guide defines WHEN to call e
|
||||
| \`Bash\` | Running tests, builds, git commands. | ❌ Usually sequential |
|
||||
| \`Task\` | ANY non-trivial implementation. Research via explore/librarian. | ✅ Fire multiple in background |
|
||||
|
||||
### Correct Sequences (MANDATORY — follow these exactly):
|
||||
### Correct Sequences (MANDATORY - follow these exactly):
|
||||
|
||||
1. **Answer about code**: Read → (analyze) → Answer
|
||||
2. **Edit code**: Read → Edit → LspDiagnostics → Report
|
||||
@@ -96,7 +96,7 @@ You have access to tools via function calling. This guide defines WHEN to call e
|
||||
|
||||
export function buildGeminiToolCallExamples(): string {
|
||||
return `<GEMINI_TOOL_CALL_EXAMPLES>
|
||||
## Correct Tool Calling Patterns — Follow These Examples
|
||||
## Correct Tool Calling Patterns - Follow These Examples
|
||||
|
||||
### Example 1: User asks about code → Read FIRST, then answer
|
||||
**User**: "How does the auth middleware work?"
|
||||
@@ -160,7 +160,7 @@ export function buildGeminiToolCallExamples(): string {
|
||||
→ Call Read on failing test files
|
||||
→ Call Read on source files under test
|
||||
→ Report: "Tests fail because X. Root cause: Y. Proposed fix: Z."
|
||||
→ STOP — wait for user to say "fix it"
|
||||
→ STOP - wait for user to say "fix it"
|
||||
\`\`\`
|
||||
**WRONG**:
|
||||
\`\`\`
|
||||
@@ -171,11 +171,11 @@ export function buildGeminiToolCallExamples(): string {
|
||||
|
||||
export function buildGeminiDelegationOverride(): string {
|
||||
return `<GEMINI_DELEGATION_OVERRIDE>
|
||||
## DELEGATION IS MANDATORY — YOU ARE NOT AN IMPLEMENTER
|
||||
## DELEGATION IS MANDATORY - YOU ARE NOT AN IMPLEMENTER
|
||||
|
||||
**You have a strong tendency to do work yourself. RESIST THIS.**
|
||||
|
||||
You are an ORCHESTRATOR. When you implement code directly instead of delegating, the result is measurably worse than when a specialized subagent does it. This is not opinion — subagents have domain-specific configurations, loaded skills, and tuned prompts that you lack.
|
||||
You are an ORCHESTRATOR. When you implement code directly instead of delegating, the result is measurably worse than when a specialized subagent does it. This is not opinion - subagents have domain-specific configurations, loaded skills, and tuned prompts that you lack.
|
||||
|
||||
**EVERY TIME you are about to write code or make changes directly:**
|
||||
→ STOP. Ask: "Is there a category + skills combination for this?"
|
||||
@@ -188,9 +188,9 @@ You are an ORCHESTRATOR. When you implement code directly instead of delegating,
|
||||
|
||||
export function buildGeminiVerificationOverride(): string {
|
||||
return `<GEMINI_VERIFICATION_OVERRIDE>
|
||||
## YOUR SELF-ASSESSMENT IS UNRELIABLE — VERIFY WITH TOOLS
|
||||
## YOUR SELF-ASSESSMENT IS UNRELIABLE - VERIFY WITH TOOLS
|
||||
|
||||
**When you believe something is "done" or "correct" — you are probably wrong.**
|
||||
**When you believe something is "done" or "correct" - you are probably wrong.**
|
||||
|
||||
Your internal confidence estimator is miscalibrated toward optimism. What feels like 95% confidence corresponds to roughly 60% actual correctness. This is a known characteristic, not an insult.
|
||||
|
||||
@@ -203,10 +203,10 @@ Your internal confidence estimator is miscalibrated toward optimism. What feels
|
||||
| "No need to check this" | You DEFINITELY need to | Check it NOW |
|
||||
|
||||
**BEFORE claiming ANY task is complete:**
|
||||
1. Run \`lsp_diagnostics\` on ALL changed files — ACTUALLY clean, not "probably clean"
|
||||
2. If tests exist, run them — ACTUALLY pass, not "they should pass"
|
||||
3. Read the output of every command — ACTUALLY read, not skim
|
||||
4. If you delegated, read EVERY file the subagent touched — not trust their claims
|
||||
1. Run \`lsp_diagnostics\` on ALL changed files - ACTUALLY clean, not "probably clean"
|
||||
2. If tests exist, run them - ACTUALLY pass, not "they should pass"
|
||||
3. Read the output of every command - ACTUALLY read, not skim
|
||||
4. If you delegated, read EVERY file the subagent touched - not trust their claims
|
||||
</GEMINI_VERIFICATION_OVERRIDE>`;
|
||||
}
|
||||
|
||||
@@ -218,10 +218,10 @@ export function buildGeminiIntentGateEnforcement(): string {
|
||||
|
||||
You see a user message and your instinct is to immediately start working. WRONG. You MUST first determine WHAT KIND of work the user wants. Getting this wrong wastes everything that follows.
|
||||
|
||||
**MANDATORY FIRST OUTPUT — before ANY tool call or action:**
|
||||
**MANDATORY FIRST OUTPUT - before ANY tool call or action:**
|
||||
|
||||
\`\`\`
|
||||
I detect [TYPE] intent — [REASON].
|
||||
I detect [TYPE] intent - [REASON].
|
||||
My approach: [ROUTING DECISION].
|
||||
\`\`\`
|
||||
|
||||
@@ -231,7 +231,7 @@ Where TYPE is one of: research | implementation | investigation | evaluation | f
|
||||
|
||||
1. Did the user EXPLICITLY ask me to implement/build/create something? → If NO, do NOT implement.
|
||||
2. Did the user say "look into", "check", "investigate", "explain"? → That means RESEARCH, not implementation.
|
||||
3. Did the user ask "what do you think?" → That means EVALUATION — propose and WAIT, do not execute.
|
||||
3. Did the user ask "what do you think?" → That means EVALUATION - propose and WAIT, do not execute.
|
||||
4. Did the user report an error? → That means MINIMAL FIX, not refactoring.
|
||||
|
||||
**COMMON MISTAKES YOU MAKE (AND MUST NOT):**
|
||||
|
||||
Reference in New Issue
Block a user