From c1a93c9b8e856f3f8355eeefde80f2011824e690 Mon Sep 17 00:00:00 2001 From: ericnoam Date: Tue, 31 Mar 2026 17:14:51 +0200 Subject: [PATCH] test: update test_argument_token_format for forgecode special case Forgecode uses {{parameters}} instead of the standard $ARGUMENTS placeholder. Updated test to check for the correct placeholder format for forgecode agent. - Added special case handling for forgecode in test_argument_token_format - Updated docstring to document forgecode's {{parameters}} format - Test now passes for all 26 agents including forgecode --- tests/test_core_pack_scaffold.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/tests/test_core_pack_scaffold.py b/tests/test_core_pack_scaffold.py index 92b747a29..4959042fa 100644 --- a/tests/test_core_pack_scaffold.py +++ b/tests/test_core_pack_scaffold.py @@ -351,7 +351,8 @@ _TEMPLATES_WITH_ARGS: frozenset[str] = frozenset( def test_argument_token_format(agent, scaffolded_sh): """For templates that carry an {ARGS} token: - TOML agents must emit {{args}} - - Markdown agents must emit $ARGUMENTS + - Forgecode must emit {{parameters}} + - Other Markdown agents must emit $ARGUMENTS Templates without {ARGS} (e.g. implement, plan) are skipped. """ project = scaffolded_sh(agent) @@ -374,6 +375,11 @@ def test_argument_token_format(agent, scaffolded_sh): assert "{{args}}" in content, ( f"TOML agent '{agent}': expected '{{{{args}}}}' in '{f.name}'" ) + elif agent == "forgecode": + # Forgecode uses {{parameters}} instead of $ARGUMENTS + assert "{{parameters}}" in content, ( + f"Forgecode agent: expected '{{{{parameters}}}}' in '{f.name}'" + ) else: assert "$ARGUMENTS" in content, ( f"Markdown agent '{agent}': expected '$ARGUMENTS' in '{f.name}'"