One task per session, sometimes split into multiple smaller tasks in the same session if they’re closely related.
Usually it’s like “implement a worker/class/module for x” (which will act as a model) and when it did that successfully (with tests and such) I commit everything and I continue the session building the GUI, since the GUI requires deep knowledge of the thing it just made.
If I tell it to make the GUI and worker at the same time, it will usually be poorly written with logic in the views rather than in a model, and it will be tested through views while I want dedicated tests for the model
Ok, that makes sense. But when you continue the session building the GUI, do you run into it making mistakes because it doesn't have the earlier stuff (ie, your original directions) still in its context?