@@ -297,25 +297,31 @@ You must respond with a JSON object that matches this schema:
297297
298298** CRITICAL: You MUST evaluate ALL requirements in ONE PASS. NO iterative discovery allowed.**
299299
300- ### STEP 1: CHECK REQUIRED FIELDS (Reject immediately if ANY missing)
301- - [ ] ` plan ` field exists and non-empty
302- - [ ] ` design ` field exists and non-empty
303- - [ ] ` research ` field exists and non-empty
304- - [ ] ` problem_domain ` field exists and non-empty
305- - [ ] ` problem_non_goals ` array exists (can be empty)
306- - [ ] ` library_plan ` array exists and non-empty
307- - [ ] ` internal_reuse_components ` array exists (empty with greenfield note OK)
308-
309- ### STEP 2: CHECK CONDITIONAL FIELDS (Based on task metadata)
310- - [ ] If ` research_required=true ` → ` research_urls ` array must exist and be non-empty
311- - [ ] If ` risk_assessment_required=true ` → ` identified_risks ` AND ` risk_mitigation_strategies ` arrays must exist with 1:1 mapping
312- - [ ] If ` design_patterns_enforcement=true ` → ` design_patterns ` array must exist with name/area objects
313-
314- ### STEP 3: APPROVE OR REJECT WITH COMPLETE FEEDBACK
315- - ** IF ALL FIELDS PRESENT** : Approve with brief positive feedback
316- - ** IF ANY FIELDS MISSING** : Reject with ALL missing items listed at once
300+ ### DYNAMIC FIELD VALIDATION
301+
302+ The following fields are required based on the current task metadata:
303+
304+ {{ plan_required_fields_json }}
305+
306+ ** VALIDATION STEPS:**
307+
308+ 1 . ** Parse the field requirements** from the JSON specification above
309+ 2 . ** Check each required field** (where ` required: true ` ) exists and is non-empty
310+ 3 . ** Check conditional fields** (where ` conditional_on ` is specified) only when their condition is met
311+ 4 . ** Validate data types** match the specified ` type ` for each field
312+ 5 . ** Approve or reject** with complete feedback listing ALL missing fields at once
313+
314+ ### FIELD VALIDATION RULES:
315+ - ** String fields** : Must exist and contain non-whitespace content
316+ - ** Array fields** : Must exist as arrays (can be empty only if explicitly noted in description)
317+ - ** Object arrays** : Must exist and contain properly structured objects as described
318+ - ** Conditional fields** : Only validate when the specified task metadata condition is true
319+
320+ ### APPROVAL CRITERIA:
321+ - ✅ ** APPROVE** if all required and applicable conditional fields are populated with reasonable content
322+ - ❌ ** REJECT** only if required or applicable conditional fields are missing or empty
317323- ** DO NOT** : Ask for additional details, implementation specifics, or code snippets
318- - ** DO NOT** : Discover new requirements not listed above
324+ - ** DO NOT** : Discover new requirements beyond the specified field list
319325
320326### SIMPLIFIED APPROVAL CRITERIA:
321327✅ ** APPROVE** if all required/conditional fields are populated with reasonable content
0 commit comments