Skip to content

fix(telegram): remove the autonomous-silence notice — it only ever landed as a DM nag (DIVE-3910) - #49

Merged
lodar merged 1 commit into
mainfrom
dive-3910-kill-autonomous-silence
Sep 2, 2026
Merged

fix(telegram): remove the autonomous-silence notice — it only ever landed as a DM nag (DIVE-3910)#49
lodar merged 1 commit into
mainfrom
dive-3910-kill-autonomous-silence

Conversation

@lodar

@lodar lodar commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

lodar, 2026-09-02: "I feel this works wrongly. better to kill completely. I never
seen its been useful. its just confuses clients."

DIVE-3422 added a notice after 3 consecutive channel-silent turns, so an
autonomous session reporting into the void could be told apart from a hung one.
Its own comment named the failure mode it had to avoid: "the same text in a
human's DM is a nag, and a nag gets muted." It targeted getGroupTopics() first
and fell back to getAllowedChatIds() — i.e. the human's DM — whenever no group
topic was configured. No seat on this host configures one, so the fallback was
not an edge case, it was the only path the notice ever took.

It also fired wrongly. It reached the paired user at 10:27:55Z claiming 3 silent
turns on a session that had replied to him at 10:25:50Z and 10:26Z, so the
documented negative control (any turn reaching the channel resets the run) did
not hold for a session that was actively conversing.

Removes the call site, lib/autonomous-silence.ts and its unit file. The
agent-side silence-watchdog hooks are deliberately UNTOUCHED: they nag the
agent in its own transcript, never the user, and they are what keeps a session
from going quiet on him.

bun test 1048 pass / 0 fail; generator parity byte-exact on both committed forks.

…nded as a DM nag (DIVE-3910)

lodar, 2026-09-02: "I feel this works wrongly. better to kill completely. I never
seen its been useful. its just confuses clients."

DIVE-3422 added a notice after 3 consecutive channel-silent turns, so an
autonomous session reporting into the void could be told apart from a hung one.
Its own comment named the failure mode it had to avoid: "the same text in a
human's DM is a nag, and a nag gets muted." It targeted `getGroupTopics()` first
and fell back to `getAllowedChatIds()` — i.e. the human's DM — whenever no group
topic was configured. No seat on this host configures one, so the fallback was
not an edge case, it was the only path the notice ever took.

It also fired wrongly. It reached the paired user at 10:27:55Z claiming 3 silent
turns on a session that had replied to him at 10:25:50Z and 10:26Z, so the
documented negative control (any turn reaching the channel resets the run) did
not hold for a session that was actively conversing.

Removes the call site, `lib/autonomous-silence.ts` and its unit file. The
agent-side `silence-watchdog` hooks are deliberately UNTOUCHED: they nag the
agent in its own transcript, never the user, and they are what keeps a session
from going quiet on him.

bun test 1048 pass / 0 fail; generator parity byte-exact on both committed forks.
@lodar
lodar merged commit 3cfec88 into main Sep 2, 2026
2 checks passed
@lodar
lodar deleted the dive-3910-kill-autonomous-silence branch September 2, 2026 11:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant