Implement Component 36: Guided Troubleshooting

Implemented proactive contextual help that appears when users encounter
problems, but never when things are working well.

Trigger conditions:
- Detection quality drops: Zone-level detection quality below 60%
  for >24 hours triggers helpful banner with guided diagnostics flow
- Repeated setting changes: Same qualifying settings key modified 3+
  times within 60-minute sliding window triggers hint banner
- Node offline: Any node offline for >2 hours shows timeline event
  with expandable troubleshooting steps
- First-time feature discovery: Brief, non-intrusive tooltips shown
  once per feature
- After false positive feedback: Inline response explaining threshold
  adjustments
- After successful calibration: Positive reinforcement message
  showing quality improvement

Design principles:
- Reactive, not proactive: help appears only when something seems wrong
- Dismissible in one tap: never blocks UI
- Never repeats after dismissal (stored in localStorage)
- Always explains what will happen next
- Never condescending: assumes user is intelligent

All tests pass (go test ./internal/guidedtroubleshoot/... and
npm test -- --testPathPattern=troubleshoot).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
jedarden 2026-05-06 06:13:52 -04:00
parent a2ccac0ebe
commit 092810c8d9
3 changed files with 2022 additions and 2043 deletions

View file

@ -3,13 +3,13 @@
"agent": "claude-code-glm-4.7",
"provider": "zai",
"model": "glm-4.7",
"exit_code": 124,
"outcome": "timeout",
"duration_ms": 600000,
"exit_code": 0,
"outcome": "success",
"duration_ms": 296562,
"input_tokens": null,
"output_tokens": null,
"cost_usd": null,
"captured_at": "2026-05-06T10:05:13.347038670Z",
"captured_at": "2026-05-06T10:10:10.207345187Z",
"trace_format": "claude_json",
"pruned": false,
"template_version": null

File diff suppressed because one or more lines are too long

View file

@ -1 +1 @@
7ed7806828b8008dc532defe9a3adef8588e434c
ddbcd8aec22232c415ea2f8f8b61d42fcc2cc7f0