The main problem right now is the ambiguity of English creates a bunch of places where code generation can be inconsistent when code is generated. I have been looking into function calling to try to get specifications that can be committed into the repo. Something like TLA or Fizzbee would work. It mostly comes down to defining communicating state machines, (maybe via a BNF grammar), and having temporal logic. I was trying out scraping the conversations to parse facts into Prolog, and SQL. Most model checkers are based on LTL or CTL. But the main thing is if you can agree on consistent specifications; then what code gets generated should be acceptable via meeting the spec. Often, we write code to jump around writing specifications.
The main problem right now is the ambiguity of English creates a bunch of places where code generation can be inconsistent when code is generated. I have been looking into function calling to try to get specifications that can be committed into the repo. Something like TLA or Fizzbee would work. It mostly comes down to defining communicating state machines, (maybe via a BNF grammar), and having temporal logic. I was trying out scraping the conversations to parse facts into Prolog, and SQL. Most model checkers are based on LTL or CTL. But the main thing is if you can agree on consistent specifications; then what code gets generated should be acceptable via meeting the spec. Often, we write code to jump around writing specifications.