Good question!
As you read the rest of this answer, keep in mind that Critic attaches to your agent as a plugin. Plugins can have hooks (https://code.claude.com/docs/en/hooks and https://learn.chatgpt.com/docs/hooks) that pass instruction to an agent at predefined boundaries.
Now, Critic doesn't interfere with the actual process of code-writing. Your agent is free to write code as it wants. Critic's plugin simply observes the agent during its turn and at certain boundaries, nudges it to write a narrative. The plugin also comes with skills on how to write a concise narrative and how to identify "complex code" that needs annotation. Critic also prevents an agent from ending its turn until it publishes a quality narrative (we use heuristics like word count and format parsing to measure this).
All together, this results in a narrative that is short, direct, and easy to skim through.