Let the Expert adapt how it talks to each person
- Dominant language
- JavaScript
- Stars
- 400
- Forks
- 89
- Avg merge
- 1d 21h
- Merged PRs (30d)
- 146
Description
Someone who works in OT and someone with no technical background need the same setup explained very differently. The Expert has enough signal to notice which it's talking to, from the answers it got and the way the person writes, so it should use it.
Not a rich profile. A small set of deductions it makes as the conversation goes, along the lines of: technical background or not, works in DevOps, works in OT rather than infrastructure. Enough to pitch the explanation at the right level and pick the right examples.
The Expert deduces them, hands them back, and the browser holds them and sends them along with each turn.
### Done when
* The Expert forms a few traits from the answers and the conversation.
* They come back to the browser, get stored, and go out with the next turn's context.
* How the Expert explains things visibly differs between a technical and a non-technical conversation.
### Worth knowing
Holding them client-side isn't laziness, it's what makes them survive. The Expert's own conversation history lives in flow context and gets cleared after thirty minutes of inactivity, so anything it worked out earlier is gone after a coffee break. Sending the traits back with every turn means they outlive that.
The context object already ships around twenty five fields on every turn, so there's an obvious place for them.
Deliberately scoped to the onboarding and trial period rather than being a permanent user profile. If it turns out useful it can grow later, but a persistent profile is a much bigger conversation involving what we store about people and why.
The structured answers are relevant here. `QuestionsList.compose()` currently flattens selections into a text string, so the Expert only sees prose rather than which option was chosen for which question. A sibling task covers fixing that, and this works better once it's done, though the Expert can still deduce from the prose in the meantime.
Worth keeping the trait list short and named explicitly rather than letting it become a free-form bag. A handful of known traits is testable; an open-ended object isn't.
Contributor guide
Assessment
This issue has not been assessed yet.