-
Notifications
You must be signed in to change notification settings - Fork 3.8k
Open
Open
Copy link
Labels
enhancementtemplatesRelated to template definition and not the CLI.Related to template definition and not the CLI.
Description
My expectation was that once data-model.md was written everything directly or indirectly derived from it would be in sync.
I did several tests using Github Copilot (with Claude Sonnet 4, GPT-5 and Gemini 2.5 Pro) and I always end up with API contracts, API test cases, db migrations and active record models using different field names, which causes Copilot to waste a lot of time debugging and rewriting code.
Example:
- on
data-model.mdthere's an entity with a field namedmax_daily_quantity - on
api-spec.yamlthe related entity response schema references the same field asmax_daily_usage - the related API test case checks for a
daily_quantity_limitin the JSON response - the related db migration creates a table with a
daily_usage_limitcolumn - the related active record model has a
dailyLimitReachedmethod which expects adaily_limitcolumn
It doesn't get everything wrong all the time ofc. This is an extreme scenario that happened once so far (using Claude). But I could not get all the 5 things in sync yet though.
I'd appreciate some advice on how and where to enforce consistency here.
jehubba
Metadata
Metadata
Assignees
Labels
enhancementtemplatesRelated to template definition and not the CLI.Related to template definition and not the CLI.