Five layers of context, assembled before the model is asked anything.
None of it is typed by the person pressing the button, which is the
whole point — everything you have to explain is something the software
failed to notice.
Who is asking
Not an account id — the working facts. A tutor with three cohorts and a marking style, or a therapist with a caseload and a way of writing notes. Those change what a good answer looks like before a word of the request is read.
Reads
Their profile, their role, and the settings they have already chosen.
Where they are standing
The same sentence means different things on the gradebook and in the lesson editor. An interaction that does not know which screen it was triggered from has to guess, and a guess is where the generic answer comes from.
Reads
The screen, the record open on it, and the control that was pressed.
What the task actually is
Each moment is scoped to one job — draft this feedback, name this session, fill in this week. Small enough that we can say what a right answer is, and small enough that a wrong one is obvious at a glance rather than buried in six paragraphs.
Reads
A prompt written for that one job, not a general instruction.
How this person does it
Your last twenty pieces of feedback say more about how you write than any style setting you could be asked to fill in. What we generate is shaped by what you have already accepted, edited and thrown away.
Reads
Your own earlier work in this app, and what you changed about ours.
What shape the answer has to be
The result has to land in a field, a row, a rubric or a calendar — so the shape is decided before the model is asked, and what comes back is checked against it. An answer that does not fit is rejected here, not shown to you to tidy up.
Reads
The structure of the screen it is going into, and a validator for it.