- Auto-connect WebSocket on page load in service console
- Settings modal for editing sgclaw_config.json (API key, base URL, model, skills dir, etc.)
- UpdateConfig/ConfigUpdated protocol messages for remote config save
- save_to_path() for SgClawSettings serialization
- ConfigUpdated handler in sg_claw_client binary
- Protocol serialization tests for new message types
- HTML test assertions for auto-connect and settings UI
- Additional pending changes: deterministic submit, org units, lineloss xlsx export, browser script tool, and docs
🤖 Generated with [Qoder][https://qoder.com]
Keep the ws submit path while bringing over main's deterministic lineloss routing and the focused merge verification updates.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Add the deterministic tq-lineloss routing and normalization flow so exact-suffix requests execute through the existing browser-script seam with canonical org and period arguments.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Keep browser-attached workflows on the configured direct-skill path and align the Zhihu export/browser regression contracts with the current ws merge state.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Treat direct skill report-artifact payloads as task outcomes so partial and empty reports stay successful while blocked and error statuses fail explicitly.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Add fixed direct-submit skill loading from configured staged skills and validate directSubmitSkill early so malformed configs fail before routing.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>