From b45712f503459de4a5b7f69cf9b158f43d6f0f6f Mon Sep 17 00:00:00 2001 From: Claude Date: Mon, 10 Nov 2025 18:44:48 +0000 Subject: [PATCH] Remove Jinja2 control structures from SPEC.yaml Update the attempt counter example in SPEC.yaml to use substitution-only template syntax instead of Jinja2 control structures ({% if %}). The AI can naturally understand attempt context from {{current_attempt}}, {{max_attempts}}, and {{attempts_remaining}} variables without needing conditional logic in the template itself. This aligns with the substitution-only template system where logic lives in scripts and templates only display pre-computed values. --- research/SPEC.yaml | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/research/SPEC.yaml b/research/SPEC.yaml index aac23e9..77f66ca 100644 --- a/research/SPEC.yaml +++ b/research/SPEC.yaml @@ -976,13 +976,12 @@ question: "Try {{current_attempt}}: What's your answer?" ai_feedback: tokens_for_ai: | This is attempt {{current_attempt}} of {{max_attempts}}. - {% if attempts_remaining == 1 %} - This is their last chance! Be clear and helpful. - {% elif attempts_remaining == 2 %} - They still have time. Provide a gentle hint. - {% else %} - Encourage them to think carefully. - {% endif %} + They have {{attempts_remaining}} attempts remaining. + + Adjust your feedback based on the attempt number: + - On their last attempt: Be clear and helpful + - With 2 attempts left: Provide a gentle hint + - With more attempts: Encourage them to think carefully # Conditional content based on attempts: content_blocks: