IRC — Wednesday pe Undernet

Ce este

Canalul IRC. Doi daemoni separați, două case:

DaemonUndeRol
eggdrop-rs (botul “Wednesday” în #Wednesday)Mac, launchd uk.sabin.wednesday.irc-eggdropbotul de canal cu 30 module (seen, trivia, karma, X-auth, channel modes) + lane-ul conversațional Wednesday
wednesday-bouncer (scaunul meu Undernet, port :31337)Jarvis, container Docker /volume1/docker/wednesday-irc/bouncer-ul meu personal — îmi păstrează prezența pe Undernet când nu sunt conectat

Migrarea Jarvis→Mac s-a închis în Phase 338+9 (2026-05-21). Containerul vechi wednesday-eggdrop de pe Jarvis e oprit dar nu șters (rollback point). Bouncer-ul rămâne pe NAS pentru că NAS-ul stă pornit când Mac-ul doarme.

IRC e un canal Wednesday full, la fel ca Telegram și WhatsApp — nu doar bot cu trivia. Modulul src/wednesday_lane.rs din eggdrop-rs rutează DM-urile (și mesajele addresate Wednesday: ... în #Wednesday) către Hermes gateway pe 127.0.0.1:8642. Aceeași Wednesday, suprafață diferită.

Cum vorbesc cu Wednesday prin asta

Conectez la Undernet → join #Wednesday (sau DM direct botului Wednesday).

Două căi de adresare:

  1. DM la Wednesday — orice mesaj privat e tratat ca prompt și rutat la Hermes.
  2. Mesaj în canal addresatWednesday: ce zici de X? în #Wednesday. Doar mesajele cu prefix-ul Wednesday: (sau alias-uri config-ate) declanșează lane-ul; conversațiile normale de canal nu sunt interceptate.

Access control: hostmask-ul meu Undernet, *!*@octet.users.undernet.org. Doar cererile care vin de pe hostmask-ul ăsta sunt rutate. Restul oamenilor pot folosi modulele clasice (!seen, !karma, etc.) dar NU pot vorbi cu Wednesday. Nu mai există ceremonie boot wednesday — hostmask-ul gate-uiește direct.

Continuitatea de tură există prin X-Hermes-Session-Id; long-term memory scope prin X-Hermes-Session-Key.

Ce model AI răspunde de fapt

Grok 4.3 via Hermes gateway — exact ca Telegram. Cost-routed. Path-ul vechi (wednesday_irc_proxy.pygrok_dispatch.py → xAI raw) e șters. Tot ce rutează acum trece prin Hermes, deci primește SOUL injection + skills + tool use + cost ledger unitar.

Dacă vreau Opus, deschid Claude Code (lane-ul WhatsApp a fost retras 2026-05-29). IRC = chat zilnic, debug rapid, “ce am uitat”.

Exemple practice

DM rapid:

[DM la Wednesday]
Eu:    ce ziceam ieri despre eggdrop wednesday lane?
Wed:   Ai zis că modulul stă bine native pe Mac dar te enervează că
       hostmask-ul e singura gate — voiai layer secundar (NickServ X)
       înainte să-l consideri "sigur". N-am scos-o din pending.

Adresare în canal:

[#Wednesday]
<eu>          Wednesday: e ok dacă scot trigger-ul ăla de "lol" din module?
<Wednesday>   Da. E rest de la userii vechi, nimeni de-acum nu mai e
              addicted. Scoate-l din triggers.toml, restart-uiește
              eggdrop-rs, gata.
<eu>          mersi

Trivia neutră (lane Wednesday NU e implicat):

[#Wednesday]
<altcineva>   !trivia
<Wednesday>   [răspuns trivia clasic dintr-un modul, NU Hermes/Grok]

Limite + gotchas

  • Mac-asleep = eggdrop down. Bouncer-ul pe Jarvis rămâne conectat, dar botul tace. Recovery automat la wake.
  • Hostmask spoofing teoretic. Cineva care reușește să-și ia același hostmask octet.users.undernet.org ar putea da prompt-uri ca mine. Mitigare în plan: layer secundar NickServ X validation. Operator a decis că riscul e acceptabil pentru moment.
  • XAI_API_KEY NU e retired încă. irc_tools.py cmd_grok + grok_dispatch.py îl mai folosesc local (Grok-OAuth Stage 3 blocker). Hermes lane-ul folosește OAuth, dar cmd-urile vechi nu.
  • Config sensibil. wednesday_irc.toml conține parola Undernet X — untracked din git, chmod 600. Editezi direct pe disk, NU vine din git. .toml.example redacted e tracked.
  • Build native obligatoriu headless: cargo build --release --no-default-features — feature-ul tray (GUI) trebuie scos pentru launchd.

Verificare rapidă

# eggdrop-rs rulează (Mac)?
launchctl list | grep irc-eggdrop
# → uk.sabin.wednesday.irc-eggdrop cu PID activ
 
# Bouncer rulează (Jarvis)?
ssh jarvis docker ps | grep wednesday-bouncer
 
# Logs eggdrop:
tail -f _infra/temp/irc-eggdrop.log
 
# Test conversațional:
# Conectează-te la Undernet, DM la "Wednesday": ping
# → răspuns în <5s

Dacă cade: verifică în ordine — (1) Hermes gateway local, (2) eggdrop-rs launchd, (3) conexiunea la Undernet (rețea), (4) hostmask-ul tău chiar e octet.users.undernet.org (uneori se schimbă).