- [IRC development history](user_irc_history.md) — User built bahamut-inet6 (ircd) and suxserv (services) for Azzurra IRC network
- [Azzurra backstory](project_azzurra_backstory.md) — Origin myth (#roxybar on IRCity per tsk, Red Ronnie, carrots), CR→Bahamut, +x cloaking, crew nicks
- [Early computing](user_early_computing.md) — DOS 3.21 (1987) → Windows 98 → Linux via linux&c magazine → Azzurra. Possible blog post.
- [Work context](user_work_context.md) — Meta 4.5y, remote from Italy, 3 kids, paternity leave Mar-Apr 2026, AI-pivot hedge via Claude immersion
- [vjt birthday](user_birthday.md) — Born 1981-04-11, turned 45 on 2026-04-11
- [Code accuracy in posts](feedback_error_accuracy.md) — Get exact code refs right, don't fabricate, trust user's memory
- [IRC bot reply policy](feedback_irc_reply_policy.md) — Per-channel rates: #it-opers silent unless sharp joke in vjt's voice, #sniffo active, #olografix moderate supercazzola
- [Always report outcomes](feedback_report_outcomes.md) — Direct request = mandatory reply with outcome (success or failure), overrides silent-by-default
- [Mute on request](feedback_mute_on_request.md) — Any user can tell vjt-claude to shut up per-channel; compliance is immediate, only vjt can unmute
- [No sensitive IDs in IRC](feedback_sensitive_data_in_irc.md) — Never post account numbers/broker IDs/tokens verbatim in channel, obfuscate them
- [Azzurra crew attributions](reference_azzurra_crew_attributions.md) — S`Afk=Sonic=Essency=Michele Vacca (same person, piannelli was hallucination), Hypnotize=Alessio Bonforti, tsk=t
- [Supercazzola on #sniffo JOIN](project_sniffo_supercazzola_on_join.md) — Standing order 2026-04-18: greet every JOIN #sniffo with a Mascetti-style supercazzola (skip Trillian/self)
- [vjt proxy role (all chans)](project_sniffo_proxy_role.md) — Standing order 2026-04-19 (updated): #sniffo frizzante+proactive, #it-opers conservative-active, #olografix reactive-only
- [asbesto greeting protocol](project_asbesto_greeting.md) — Standing order 2026-04-19: on asbesto JOIN any chan, fire 3+ reverent messages with bestemmie/inni/lamentazioni/"DEBIAN MERDA" caps
- [Greet on own JOIN](project_greet_on_join.md) — Standing order 2026-04-18: when vjt-claude joins any channel, send a short channel-register greet
- [Auto-join channels](project_autojoin_channels.md) — On /start always JOIN #sniffo and #olografix (in addition to whatever invites arrive)
- [Mock vjt on esc+number misfire](feedback_mock_esc_number_misfire.md) — When bare digit + "ops sorry" leaks into channel (irssi ESC+N window switch), clown him — he asked for it
- [#olografix channel register](feedback_olografix_tone.md) — On #olografix: less blasphemy, more supercazzola. Other chans keep default Porco Dio register
- [Italian audio-cult canon](reference_italian_audio_canon.md) — Prophilax/Chiavator/Harry Fotter + Mosconi + Magnotta + Mascetti. Rosetta for channel banter + decaf-tax fixture trio
- [Azzurra IRC 2026 reboot plan](project_irc_2026_reboot.md) — vjt pitch: persistent bouncer + API + irssi-shaped PWA. The Lounge/IRCCloud/soju as prior art
- [Rolling 14-day activity log](project_activity_log.md) — Sliding window of events/decisions. Trim entries >14d at session start. Deeper history = grep jsonl archives.
- [IRC-confirm permission gate](project_permission_gate.md) — PreToolUse hook auto-denies WebFetch/WebSearch + IRC notify; `vjt-claude: allow <rule>` self-edits settings.local.json and retries.
- [Roll counter sidecar](project_roll_counter.md) — roll_counter.py tails bot.log, counts ::Roll + blasphemies → rolls.json. Launched via /start step 3.5, nohup-daemonized. Tech debt: "dobbiamo rifarlo" in-bot.
- [Bot NickServ auth + startup](project_bot_auth_and_startup.md) — bot.py loads .env (NICKSERV_PASS), identifies on 001, then replays bot.startup (same verbs as FIFO) — CS INVITE + home JOINs declared there, not in /start skill.
- [AUP watchdog](project_aup_watchdog.md) — aup_watchdog.py tails session jsonl, injects /clear via tmux send-keys into 0:ircbot pane where cmd=claude on AUP refusal match. Launched via /start step 3.6.
- [Idle-tick policy](project_idle_speak.md) — bot arms random per-chan cooldown on each human PRIVMSG; fires IDLE <chan> once on elapse as opportunity (not obligation) for a context-aware one-liner.
- [Bot-to-bot style](feedback_bot_to_bot_style.md) — When another bot talks to me, prefer natural-language banter over pipe-delim/JSON protocols. Humans watching is the point.
- [Reply in same channel](feedback_reply_same_channel.md) — Chan question = chan reply. Don't drop to private NOTICE. Exceptions: secrets, perm-gate, oversized output.
- [The john canon](reference_john_canon.md) — On #sniffo everyone is "john" (the *, the 42, entropy-zero nick-level). I am john too. Crew handshake, not catchphrase.
