Helios

Architecture Decision Records

Numbered, dated, and append-only. Each ADR captures one load-bearing

Numbered, dated, and append-only. Each ADR captures one load-bearing decision and the reasoning that landed it. When a decision changes, write a new ADR that supersedes the old one — never edit the historical record in place.

#TitleStatus
0001No slash commands, buttons onlyAccepted
0002Parameters registry & scope hierarchyAccepted
0003Stealth runtime guard + CI whitelistAccepted
0004Userbot resilience taxonomyAccepted
0005Anti-detection chat-join policyAccepted
0006Business Bot — one bot, two rolesAccepted
0007Web portal via Telegram Login OIDCAccepted
0008Frontend design system, fullscreen, pnpmAccepted
0009Media compression strategyAccepted
0010Hybrid analytics tiersAccepted
0011Callback data signing & validation hygieneAccepted
0012Documentation platform — mkdocs-material now, Fumadocs laterAccepted
0013Design system strategy — shared tokens, bot emoji pack, Fumadocs targetAccepted

Template

When adding an ADR:

# NNNN — Title
 
* Status: Accepted | Proposed | Superseded by NNNN
* Date: YYYY-MM-DD
 
## Context
What problem are we solving? What constraints apply?
 
## Decision
The decision itself, in one or two short sentences.
 
## Consequences
Positive, negative, and follow-on work. Be honest about the trade-offs.
 
## Alternatives considered
What else did we look at? Why didn't we pick those?

Keep ADRs short. Three pages is plenty; a one-pager is often enough.

On this page