refactor: use a single agent model path

This commit is contained in:
wuyang
2026-07-26 18:50:51 +08:00
parent 2e8e81c790
commit d95d06233f
23 changed files with 330 additions and 454 deletions
+14 -14
View File
@@ -201,7 +201,7 @@ async def test_tool_call_batch_is_bounded(settings) -> None:
try:
answer = await loop.run(
spec=get_model_spec("work-medium"),
spec=get_model_spec("terra"),
messages=[{"role": "user", "content": "检查当前状态"}],
identity=UserIdentity("u1", "u1@example.test", "U1", "user"),
raw_user_jwt="jwt",
@@ -245,7 +245,7 @@ async def test_read_only_tool_calls_run_in_parallel(settings) -> None:
try:
answer = await loop.run(
spec=get_model_spec("work-light"),
spec=get_model_spec("luna"),
messages=[{"role": "user", "content": "inspect both"}],
identity=UserIdentity("u1", "", "", "user"),
raw_user_jwt="jwt",
@@ -314,7 +314,7 @@ async def test_mutating_tool_calls_are_serialized(settings) -> None:
try:
await loop.run(
spec=get_model_spec("work-light"),
spec=get_model_spec("luna"),
messages=[{"role": "user", "content": "write both"}],
identity=UserIdentity("u1", "", "", "user"),
raw_user_jwt="jwt",
@@ -374,7 +374,7 @@ async def test_artifact_completion_is_rejected_until_written_and_verified(settin
try:
answer = await AgentLoop(provider, registry, store, max_tool_output_chars=10_000).run(
spec=get_model_spec("work-light"),
spec=get_model_spec("luna"),
messages=[{"role": "user", "content": "写一个报告"}],
identity=UserIdentity("u1", "", "", "user"),
raw_user_jwt="jwt",
@@ -469,7 +469,7 @@ async def test_script_and_report_completion_requires_both_files(settings) -> Non
store,
max_tool_output_chars=10_000,
).run(
spec=get_model_spec("work-light"),
spec=get_model_spec("luna"),
messages=[{"role": "user", "content": "写一个脚本并给一个报告"}],
identity=UserIdentity("u1", "", "", "user"),
raw_user_jwt="jwt",
@@ -575,7 +575,7 @@ async def test_failed_execution_must_be_repaired_before_completion(settings) ->
try:
answer = await AgentLoop(provider, registry, store, max_tool_output_chars=10_000).run(
spec=get_model_spec("work-light"),
spec=get_model_spec("luna"),
messages=[{"role": "user", "content": "写脚本对比排序算法"}],
identity=UserIdentity("u1", "", "", "user"),
raw_user_jwt="jwt",
@@ -662,7 +662,7 @@ async def test_unchanged_failed_command_is_blocked_until_a_repair(settings) -> N
try:
answer = await AgentLoop(provider, registry, store, max_tool_output_chars=10_000).run(
spec=get_model_spec("work-light"),
spec=get_model_spec("luna"),
messages=[{"role": "user", "content": "写脚本并运行"}],
identity=UserIdentity("u1", "", "", "user"),
raw_user_jwt="jwt",
@@ -707,7 +707,7 @@ async def test_duplicate_commands_in_one_model_response_execute_once(settings) -
try:
answer = await AgentLoop(provider, registry, store, max_tool_output_chars=10_000).run(
spec=get_model_spec("work-light"),
spec=get_model_spec("luna"),
messages=[{"role": "user", "content": "写脚本并运行"}],
identity=UserIdentity("u1", "", "", "user"),
raw_user_jwt="jwt",
@@ -753,7 +753,7 @@ async def test_duplicate_identical_writes_execute_once(settings) -> None:
try:
answer = await AgentLoop(provider, registry, store, max_tool_output_chars=10_000).run(
spec=get_model_spec("work-light"),
spec=get_model_spec("luna"),
messages=[{"role": "user", "content": "写脚本并运行"}],
identity=UserIdentity("u1", "", "", "user"),
raw_user_jwt="jwt",
@@ -815,7 +815,7 @@ async def test_script_delivery_requires_successful_execution(settings) -> None:
try:
answer = await AgentLoop(provider, registry, store, max_tool_output_chars=10_000).run(
spec=get_model_spec("work-light"),
spec=get_model_spec("luna"),
messages=[{"role": "user", "content": "写一个 Python 脚本"}],
identity=UserIdentity("u1", "", "", "user"),
raw_user_jwt="jwt",
@@ -846,7 +846,7 @@ async def test_rejected_checkpoint_does_not_spin_without_tool_calls(settings) ->
store,
max_tool_output_chars=10_000,
).run(
spec=get_model_spec("work-light"),
spec=get_model_spec("luna"),
messages=[{"role": "user", "content": "写一个报告"}],
identity=UserIdentity("u1", "", "", "user"),
raw_user_jwt="jwt",
@@ -888,7 +888,7 @@ async def test_bare_interactive_exec_is_blocked_before_registry(settings) -> Non
store,
max_tool_output_chars=10_000,
).run(
spec=get_model_spec("work-light"),
spec=get_model_spec("luna"),
messages=[{"role": "user", "content": "你好"}],
identity=UserIdentity("u1", "", "", "user"),
raw_user_jwt="jwt",
@@ -926,7 +926,7 @@ async def test_unchanged_invalid_python_write_is_not_revalidated(settings) -> No
try:
answer = await AgentLoop(provider, registry, store, max_tool_output_chars=10_000).run(
spec=get_model_spec("work-light"),
spec=get_model_spec("luna"),
messages=[{"role": "user", "content": "你好"}],
identity=UserIdentity("u1", "", "", "user"),
raw_user_jwt="jwt",
@@ -999,7 +999,7 @@ async def test_extreme_tier_preserves_reasoning_state_across_tool_turns(settings
try:
answer = await AgentLoop(provider, registry, store, max_tool_output_chars=10_000).run(
spec=get_model_spec("work-extreme"),
spec=get_model_spec("deepseek-v4-pro"),
messages=[{"role": "user", "content": "读取 notes.txt 并检查内容"}],
identity=UserIdentity("u1", "", "", "user"),
raw_user_jwt="jwt",