first stab at solving for menus and real STT

This commit is contained in:
Jacob Dubin
2026-04-16 15:40:28 -05:00
parent efe4dfd04e
commit fe1e11653f
19 changed files with 799 additions and 19 deletions

View File

@@ -12,6 +12,7 @@ Current fixture groups:
Current websocket fixture depth is uneven on purpose:
- `neo-hub-client-asr-joke.flow.json` now asserts a richer vertical slice than reply types alone. It captures the observed Node-oriented `CLIENT_ASR -> LISTEN -> EOS -> delayed SKILL_ACTION` joke turn with payload-shape expectations for `EOS` and joke `SKILL_ACTION`.
- `neo-hub-client-nlu-clock-ask-time.flow.json` captures a real menu-style `CLIENT_NLU` turn from the latest live captures and asserts that `.NET` preserves the observed NLU intent/rules/entities in the synthetic websocket reply instead of flattening everything into generic chat.
- The other websocket fixtures are still mainly sequencing fixtures. They are useful for replay and guardrails, but they should not be read as proof of broader payload parity.
Expand this folder whenever new robot traffic is captured and cleaned.

View File

@@ -0,0 +1,82 @@
{
"name": "neo-hub client nlu clock ask time flow",
"session": {
"hostName": "neo-hub.jibo.com",
"path": "/listen",
"kind": "neo-hub-listen",
"token": "fixture-clock-nlu-token"
},
"steps": [
{
"text": {
"type": "LISTEN",
"transID": "fixture-trans-clock-time",
"data": {
"lang": "en-US",
"rules": [
"clock/clock_menu",
"globals/global_commands_launch"
],
"mode": "CLIENT_NLU"
}
},
"expectedReplyTypes": [
"OPENJIBO_TURN_PENDING"
]
},
{
"text": {
"type": "CLIENT_NLU",
"transID": "fixture-trans-clock-time",
"data": {
"entities": {
"domain": "clock"
},
"intent": "askForTime",
"rules": [
"clock/clock_menu"
]
}
},
"expectedReplyTypes": [
"LISTEN",
"EOS"
],
"expectedReplies": [
{
"type": "LISTEN",
"jsonSubset": {
"type": "LISTEN",
"transID": "fixture-trans-clock-time",
"data": {
"asr": {
"text": "askForTime"
},
"nlu": {
"intent": "askForTime",
"rules": [
"clock/clock_menu"
],
"entities": {
"domain": "clock"
}
},
"match": {
"intent": "askForTime",
"rule": "clock/clock_menu"
}
}
}
},
{
"type": "EOS",
"jsonSubset": {
"type": "EOS",
"transID": "fixture-trans-clock-time",
"data": {}
}
}
]
}
]
}