Update: 将子项目从 submodule 转为完整内容
- 移除 GovAI, nomifun-tauri, 算力盒子 的 submodule 引用 - 添加所有子项目的完整源代码 - 保留原始 .git 为 .git.bak 备份
This commit is contained in:
@@ -0,0 +1,73 @@
|
||||
// Acceptance test for tool usage guidance in the system prompt (TC-A4-01).
|
||||
//
|
||||
// This is a LOCAL test — no LLM call required.
|
||||
|
||||
use nomi_agent::context::{SystemPromptCache, build_system_prompt};
|
||||
|
||||
/// TC-A4-01: System prompt contains tool guidance.
|
||||
///
|
||||
/// Calls `build_system_prompt` with minimal arguments and verifies that the
|
||||
/// returned prompt includes the tool-usage guidance section with all expected
|
||||
/// content: heading, Bash prohibition mappings, parallel call guidance,
|
||||
/// Edit-over-Write preference, and Read-before-Edit rule.
|
||||
#[test]
|
||||
fn system_prompt_contains_tool_guidance() {
|
||||
let prompt = build_system_prompt(
|
||||
&mut SystemPromptCache::new(),
|
||||
None,
|
||||
"/tmp",
|
||||
"test-model",
|
||||
&[],
|
||||
None,
|
||||
None,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
);
|
||||
|
||||
// 1. Heading
|
||||
assert!(
|
||||
prompt.contains("# Using your tools"),
|
||||
"system prompt must contain the '# Using your tools' heading"
|
||||
);
|
||||
|
||||
// 2. Bash prohibition mappings — dedicated tool replacements
|
||||
assert!(
|
||||
prompt.contains("Glob"),
|
||||
"should mention Glob as replacement for find/ls"
|
||||
);
|
||||
assert!(
|
||||
prompt.contains("Grep"),
|
||||
"should mention Grep as replacement for grep/rg"
|
||||
);
|
||||
assert!(
|
||||
prompt.contains("Read"),
|
||||
"should mention Read as replacement for cat/head/tail"
|
||||
);
|
||||
assert!(
|
||||
prompt.contains("Edit"),
|
||||
"should mention Edit as replacement for sed/awk"
|
||||
);
|
||||
assert!(
|
||||
prompt.contains("Write"),
|
||||
"should mention Write as replacement for echo redirection"
|
||||
);
|
||||
|
||||
// 3. Parallel call guidance
|
||||
assert!(
|
||||
prompt.contains("parallel"),
|
||||
"should contain parallel call guidance"
|
||||
);
|
||||
|
||||
// 4. Edit-over-Write preference
|
||||
assert!(
|
||||
prompt.contains("Prefer Edit over Write"),
|
||||
"should contain Edit-over-Write preference"
|
||||
);
|
||||
|
||||
// 5. Read-before-Edit rule
|
||||
assert!(
|
||||
prompt.contains("Read a file before editing"),
|
||||
"should contain Read-before-Edit rule"
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user