Behavioral state detection that drives manager mode
Real-time classifier that reads confusion, stress, disengagement, and flow from activity signals and switches the manager NPC between supportive and Socratic mode accordingly.
A real-time classifier that reads the user's state from their activity (confused, stressed, in flow, over-confident, or disengaged) and uses that read to decide how the manager NPC shows up in the next conversation. In supportive mode the manager walks the user through the answer, lowers the friction, and offers resources up front (used when the user is stressed, confused, or disengaged). In Socratic mode the manager asks questions back instead of handing over the answer, forcing the user to reason their own way to it (used when the user is in flow or over-confident, so the platform pushes them rather than coddles them).
Some signals only show up just before the user gives up. Catching confusion or stress before they go silent or rage-click submit gives the manager the chance to step in differently. Reading flow and over-confidence matters too: those are exactly the moments to push the user harder rather than serve them an easy win. A static manager who treats every user the same gets the read wrong half the time. The cohort view also shows whether the curriculum is pushing most users into flow or into stress.
A Temporal activity runs on each substrate flush. It takes the user's recent activity ledger and uses an LLM classifier to label them into one of five states with confidence and a dominant tag. Coherence flags ride alongside the state (patterns like overclaimed-technical or confused-about-requirements). The labeled state writes back into the calibration substrate, where the manager NPC engine reads it before the next reply and flips between supportive and Socratic mode accordingly. The ops dashboard reads the same denormalized rows to show cohort-level distributions over time.
Co-built. Wrote the classifier activity, the wiring that flips the manager NPC between supportive and Socratic mode based on the read, and the dashboard panels that surface aggregate distributions.
Want the full technical depth, the tradeoffs, what broke, what I'd do differently? Ask the agent about this project.