[hermes] atlasbot: python:S1871 #130

Open
opened 2026-09-24 23:22:20 +00:00 by hermes-automation · 0 comments

SonarQube reports python:S1871 in atlasbot/matrix/bot.py. The build is green; this is a standing finding, not a failure.

What is wrong

In the heartbeat coroutine inside MatrixBot._answer_with_heartbeat, the if/elif chain at lines 167-170 has two branches with identical bodies: both if snippet and snippet != last_note: and elif now - last_sent >= max(60.0, self._settings.thinking_interval_sec * 2): just set should_send = True. Sonar flags this duplication; the two conditions should be merged into one boolean expression with or.

Ariadne opened no pull request for it: no automated patch was possible for this finding.

Facts

  • gitea — Either merge this branch with the identical one on line "168" or change one of the implementations. (MAJOR, 10min estimated) (atlasbot/matrix/bot.py:170)

Suggested fix (not applied)

Hermes could not open a pull request for this, so the change below was not written, validated, or pushed anywhere. It is a starting point for whoever picks this up, not a reviewed patch.

atlasbot/matrix/bot.py — Replace the should_send = False flag and the if/elif chain (lines 166-170) with a single boolean assignment. Because if/elif evaluates the second condition only when the first is false, combining the conditions with short-circuit or is exactly equivalent: a heartbeat is still sent when the snippet changed, or when the resend interval has elapsed. The bool() wrapper keeps should_send a bool even when snippet is an empty string, and the subsequent if should_send: block is unchanged.

snippet = note[:64]
                now = time.monotonic()
                should_send = bool(snippet and snippet != last_note) or (
                    now - last_sent >= max(60.0, self._settings.thinking_interval_sec * 2)
                )
                if should_send:
                    msg = f"Still thinking — {snippet}…"
                    await self._client.send_message(token, room_id, msg)
                    last_note = snippet
                    last_sent = now

Filed automatically by Ariadne from a Hermes Agent diagnosis (run run_3f4f1186a08d48a486c2fa4c219cc71b). Hermes has no write access to this repository; no files or infrastructure were changed.

SonarQube reports **python:S1871** in `atlasbot/matrix/bot.py`. The build is green; this is a standing finding, not a failure. ## What is wrong In the heartbeat coroutine inside MatrixBot._answer_with_heartbeat, the if/elif chain at lines 167-170 has two branches with identical bodies: both `if snippet and snippet != last_note:` and `elif now - last_sent >= max(60.0, self._settings.thinking_interval_sec * 2):` just set `should_send = True`. Sonar flags this duplication; the two conditions should be merged into one boolean expression with `or`. Ariadne opened no pull request for it: no automated patch was possible for this finding. ## Facts - **gitea** — Either merge this branch with the identical one on line "168" or change one of the implementations. (MAJOR, 10min estimated) (`atlasbot/matrix/bot.py:170`) ## Suggested fix (not applied) Hermes could not open a pull request for this, so the change below was not written, validated, or pushed anywhere. It is a starting point for whoever picks this up, not a reviewed patch. **`atlasbot/matrix/bot.py`** — Replace the `should_send = False` flag and the if/elif chain (lines 166-170) with a single boolean assignment. Because if/elif evaluates the second condition only when the first is false, combining the conditions with short-circuit `or` is exactly equivalent: a heartbeat is still sent when the snippet changed, or when the resend interval has elapsed. The `bool()` wrapper keeps `should_send` a bool even when `snippet` is an empty string, and the subsequent `if should_send:` block is unchanged. ``` snippet = note[:64] now = time.monotonic() should_send = bool(snippet and snippet != last_note) or ( now - last_sent >= max(60.0, self._settings.thinking_interval_sec * 2) ) if should_send: msg = f"Still thinking — {snippet}…" await self._client.send_message(token, room_id, msg) last_note = snippet last_sent = now ``` ## Links - SonarQube finding: https://quality.bstein.dev/project/issues?resolved=false&id=atlasbot&open=AZ2y3T24Ky9i4pkIpSiI - Full evidence bundle and audit trail live in Ariadne at `/api/admin/audit/events`, event types `hermes_autotriage_incident` and `hermes_autotriage_diagnosis`. Filed automatically by Ariadne from a Hermes Agent diagnosis (run [run_3f4f1186a08d48a486c2fa4c219cc71b](https://triage.bstein.dev/chat?resume=run_3f4f1186a08d48a486c2fa4c219cc71b)). Hermes has no write access to this repository; no files or infrastructure were changed. <!-- hermes-triage job=atlasbot classification=python:S1871 incident=sonar/atlasbot/python:S1871/AZ2y3T24Ky9i4pkIpSiI -->
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: bstein/atlasbot#130
No description provided.