You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Based on root cause analysis of VOICE D4D validation failures, enhanced all
D4D generation and editing instructions to prevent semantic field name
invention and ensure strict schema compliance.
Key improvements:
- Added requirement to read reference examples FIRST before generation
- Documented common field name mistakes with wrong/correct examples
- Emphasized {id, description} pattern used by most D4D classes
- Made validation non-skippable with clear error handling guidance
- Added verification checklist for post-generation validation
- Highlighted that most validation failures are due to invented field names
Affected files:
- .claude/commands/d4d-agent.md: Enhanced generation process workflow
- .github/workflows/d4d_assistant_create.md: Added schema study section
- .github/workflows/d4d_assistant_edit.md: Added field name verification
Prevents issue where agents invent semantic field names (purpose_description,
creator_name, subset_name) instead of using actual schema fields (id,
description). This was the root cause of 50+ validation errors in the original
VOICE concatenated D4D file.
🤖 Generated with Claude Code
Co-Authored-By: Claude Sonnet 4.5 <[email protected]>
- Check field definitions for the sections being edited
143
+
- Extract EXACT field names for classes you'll use (Purpose, Task, Creator, etc.)
136
144
- Verify slot constraints:
137
145
- Is the field required or optional?
138
146
- Is it multivalued (list)?
139
147
- What is the expected range/type?
140
148
- Are there enum constraints?
141
149
- Understand class relationships for nested objects
142
150
151
+
**Common Field Name Mistakes to AVOID When Editing:**
152
+
```yaml
153
+
# ❌ WRONG - Invented semantic field names
154
+
purposes:
155
+
- purpose_description: "..."# Field doesn't exist!
156
+
157
+
# ✅ CORRECT - Schema field names
158
+
purposes:
159
+
- id: project:purpose:1
160
+
description: "..."# Use 'description' field
161
+
```
162
+
163
+
**Key Pattern**: Most D4D classes use `{id, description}` structure. Don't invent field names like `purpose_description`, `creator_name`, `subset_name`, etc.
0 commit comments