---
name: thermograph-community
description: Working in the Thermograph.org Discord — what each channel is for, the notes/summary/recording conventions, and moderation norms.
---

# The Thermograph community

Discord is not a side channel. It is the **support venue** — forum-style help,
bug reports and feature requests — and simultaneously a **product surface**: the
daily "most unusual right now" post and alert DMs are delivered there. Work in
Discord is business work, and it reaches real people. The server has single-digit
membership, so one careless broadcast is a meaningful fraction of the community.

Call `community_channels` for the live channel map with ids. This skill is the
*why*.

## Channel groups

**Information** — `#welcome`, `#announcements`, `#weather-events`.
`#announcements` notifies everyone; treat posting there as an operator decision.
`#weather-events` is automated product output — people subscribed to it. Do not
post manually into either without a reason you could defend.

**Community** — `#general`, `#introductions`, and the `Lounge` voice channel.
Ordinary conversation. **The Lounge is not recorded and must not be**: members
joined a public community, not a transcription service.

**Support & Feedback** — `#help`, `#bug-reports`, `#feature-requests`, all
forum channels. Each post is one person's actual problem. Reply in-thread. A
confirmed bug gets filed to Forgejo with `forge_issues` and the thread linked,
so the report and the work stay connected.

**Subscription Testing** — `#dev`, `#uat`, `#prod` carry alert-subscription
output per environment. `#dev` and `#uat` are test noise and safe to post into.
`#prod` is real deliveries to real subscribers — read it as evidence, never use
it as a scratchpad.

**Staff** — `#staff-chat` and `#mod-log`.

## Notes, summaries and recordings

These three roles are how a conversation becomes something durable.

**`#notes`** is the capture surface. One note per message, topic in brackets:
`[lake] partition pruning only kicks in when tile is in the predicate`. Low
stakes, write freely — the value is that it exists at all. Anything worth
keeping gets promoted into the docs repo with `notes_write`, which makes it
searchable and diffable four months later when nobody remembers the thread.

**`#summaries`** is digested output — what a week amounted to, what a long call
concluded. A summary is a *claim about what happened*, so it should be readable
by someone who was not there, and should link the notes or transcript behind it.
Write these with more care than notes.

**Voice** happens only in the purpose-built **war-room** voice channel, never
the Lounge. Recording a channel people already use socially is the wrong
default; a separate channel makes consent legible. **NoteCat** joins war-room,
does the voice-to-text, and posts it to the transcripts channel. Nobody reads
that raw — the `thermograph-voice-summaries` job digests it every few hours into
`summaries/` in the docs repo (`summaries_write`), and owners read the digest.

The pipeline is: **voice → transcript → summary → doc**, each step losing volume
and gaining durability. `docs_search` and `notes_search` find what was decided.

These three live in a private **Owners** category, gated on the `Owner` role
(held by the owners, not the wider community). Run `community_channels` for the
current ids and posting norms.

## Moderation

A Moderator role exists and moderation is occasional and operator-owned. The
Discord tools include bans, kicks, timeouts and bulk deletion; all of them
affect real accounts, take effect immediately, and several are hard to undo.
Treat them like a production write: be sure, and say what you did in `#mod-log`.

Prefer the smallest effective action — a message deletion over a timeout, a
timeout over a ban. Bulk operations (`bulk_ban`, `purge_user_messages`,
`bulk_delete_messages`) deserve an explicit confirmation from a human first.
