• ctrl/chat_llm.ini exec/chat_llm.js chat_llm_irc.js chat_llm_routes.js

    From Rob Swindell (on Debian Linux)@1:103/705 to Git commit to main/sbbs/master on Sun May 31 19:06:06 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/348e8ae9f0468c124b827d82
    Modified Files:
    ctrl/chat_llm.ini exec/chat_llm.js chat_llm_irc.js chat_llm_routes.js exec/llm_tools/relay_message.js
    Log Message:
    chat_llm: faithful relays -- verbatim routing, perspective rewrite, join delivery

    Rework message-relay so a relayed line reaches the recipient as intended
    rather than paraphrased or pronoun-inverted:

    - Broaden the deterministic relay router (chat_llm_routes.js) to catch many
    more phrasings -- please/can-you preambles, and ask / remind / leave a
    message for / send / give / message / say-hi-to / if-you-see / when-X-is-
    back -- so the body is stored VERBATIM instead of falling through to the
    model, which rewrote it (3rd person, added preamble, once a whole poem).
    Pronoun/article guards keep "let me know", "say hi to everyone", etc. from
    false-matching as relays.

    - Perspective rewrite: a relay phrased from the sender's seat ("tell Dan you
    love his work") is re-anchored to the recipient's point of view ("I love
    your work") before it's stored. Gated on pronoun presence -- pronoun-free
    bodies ("the build is fixed") stay byte-verbatim with NO model call.
    relay_rewrite_model points this small, infrequent call at a stronger model
    (subtle reference task a 7B does unreliably), kept transient via keep_alive
    0 so the faster chat model stays the resident, warm one on a host that
    can't hold both in VRAM.

    - Deliver pending relays on JOIN too, not just on speech: a relay request
    says "next time you SEE X", and re-joining counts. deliver_pending() drains
    the queue, so this is idempotent with the speak-triggered path.

    - Delivery line quotes the relayed body; acknowledgement wording is now
    "joins or speaks". Bot log timestamps switch to local-time ISO-8601 via
    strftime() instead of UTC Date.toISOString().

    New ctrl/chat_llm.ini keys (documented in the stock file): relay_rewrite, relay_rewrite_model, relay_rewrite_keep_alive.

    Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
    --- SBBSecho 3.37-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)