URL should be /wss/harnessed_reasoning/reasoning_console.wss, not
/harnessed_reasoning/reasoning_console.wss. Nginx consumes the /wss
prefix to route to the WebSocket service.
- Html widget's innerHTML doesn't execute <script> tags, causing
'startReasoning is not defined' error
- Extract all JS (reasoningWS, startReasoning, clearSteps) into
reasoning_console.js which is auto-loaded by Sage's header.tmpl
- Switch Button binds from actiontype='script' to
actiontype='registerfunction' with rfname
- Fix widgettype 'Input' -> 'KeyinText' (Input is not registered)
- Fix widgettype 'Scroll' -> 'VBox' with CSS overflow (Scroll not registered)
- Remove duplicate WebSocket widget (JS handles WS connection directly)
- Clean up failed fix script attempts