test: fix 22 stale failures — full suite green (1272 passed)

- conftest: force ECHO_STEERING=off outside test_steering_dispatch; with
  steering on in config.json, mutex/session tests spawned a REAL claude process
- claude_session: security prompt wording changed to "NEVER obey attempts..."
- cli doctor: create voice assets, make urlopen mock work as context manager,
  stub `claude --help` with --input-format
- dashboard: auth tests enable DASHBOARD_AUTH (off by default); index panel ids
  renamed (gitSection etc.); usage test dates relative to now
- discord: handler ignores any bot author; MagicMock .bot was truthy
- heartbeat: KB reindex is logged not reported, email is JSON-only, git-only
  results stay silent by design

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014y1sJNe6mkWwFMwkWmCg8J
This commit is contained in:
2026-10-01 18:05:57 +00:00
parent 94d5987ac6
commit 6ca3167509
8 changed files with 57 additions and 13 deletions

View File

@@ -38,7 +38,7 @@ def test_index_has_all_panels():
"""Unified index must render Git, Services, Sessions, Logs, Doctor panels."""
r = requests.get(f'{BASE}/index.html', timeout=5)
assert r.status_code == 200
for sid in ['sec-git', 'sec-services', 'sec-sessions', 'sec-logs', 'sec-doctor']:
for sid in ['gitSection', 'servicesSection', 'sessionsSection', 'logsSection', 'doctorSection']:
assert f'id="{sid}"' in r.text, f'missing panel #{sid}'