https://gitlab.synchro.net/main/sbbs/-/commit/d5ec41abbeda3bd12385870a
Modified Files:
exec/chat_llm.js exec/llm_tools/bbs_directory.js
Log Message:
chat_llm: fix guru BBS-directory routing, OS filtering, and IRC venue
Four guru-quality fixes surfaced by live IRC testing:
- classify_intent: route "which/what BBS does <sysop> run?" to
bbs_directory(list, sysop:X). Previously unrouted, so the 7B
fabricated BBS names ("DoveNetNode", "BinkleyTerm").
- classify_intent + bbs_directory: recognize OS-filter queries ("how
many BBSes run FreeBSD?") via _looks_like_os and filter on the
per-BBS OS parsed from the autoverify finger result (the same source
load/sbbslist_html.js uses for its OS chart). Was mis-binding the OS
as a software filter and fabricating counts; now FreeBSD=3, Win32=80,
Linux=115, macOS=0.
- bbs_directory: when a filtered list (sysop/os/software/network)
yields zero matches, return an explicit no-match note telling the
model not to invent a BBS. The 7B fabricated names from an empty
bbses[] otherwise ("which BBS does mro run?" -> invented BBSes).
- build_messages: IRC grounding now names the channel and states it is
a shared Synchronet IRC channel, NOT the host BBS -- stops the guru
greeting channel users with "what brings you to <BBS>?" and treating
them as BBS callers.
Regression: 29/32 (the 3 fails are pre-existing flaky FAQ citation
checks); all bbs_directory/routing tests pass.
Co-Authored-By: Claude Opus 4.8 <
noreply@anthropic.com>
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net