Aros HIG/Vol. IV/Content & voiceContent
Volume IV

Content & voice

An interface is mostly words. Aros writes like an engineer who respects your time: precise, calm, candid. This volume is as binding as the visual rules — a perfectly designed dialog with sloppy copy is a defect.

4.1 · Content

Voice & tone

Voice is constant; tone flexes with severity. The voice is always precise, calm, and candid — never chirpy, never alarmist, never vague.

Precise

Say the exact thing. "3 of 4 MinIO nodes" beats "some nodes." Numbers, names, units.

Calm

Even at P1, state facts without panic. The product is the steady one in the room.

Candid

Name what broke and what it means. No euphemism, no blame, no hand-waving.

4.1.1 We say / we don't say

We say

pve3 is unreachable. The cluster is read-only until quorum returns.

Discovery found 37 resources.

This permanently destroys VM 109.

We don't say

Oops! Something went wrong 😬

We found a bunch of stuff for you!

Are you sure you want to do this?

NEVERUse exclamation marks, emoji, or cute error copy ("Oops!", "Uh-oh!"). Aros is an instrument, not a mascot.
SHOULDWrite in the active voice and address the operator as "you." Aros refers to itself as "Aros," not "we" — it's a system, not a team.
4.2 · Content

Mechanics

The unglamorous rules that make copy look engineered rather than improvised.

RuleStandardExample
CapitalisationSentence case everywhere — labels, buttons, headings"Run discovery", not "Run Discovery"
NumbersNumerals always, even 0–9; tabular figures in data3 hosts · 0 alerts
UnitsSpace before unit; binary where apt187 GB · 28 TB · 5 min
DatesISO-ish, unambiguous; 24h time2026-05-29 · 18:57
DurationsCompact, largest unit first42d 6h · 2800ms
Hostnames / IDsMonospace, never translated or pluralisedpve1 · VM 231
RangesEn dash, no spaces120–240ms
MUSTUse sentence case for every piece of UI text. Title Case is reserved for the wordmark and proper nouns only.
4.3 · Content

Terminology

One word per concept, used everywhere. Drift in vocabulary is drift in the product.

Use thisNot thisMeans
Estatefleet, environment, infraThe whole managed set of hosts & resources
Hostserver, machine, box, nodeA physical PVE machine (pve1–3)
Resourceitem, object, thingAny discovered entity (VM, container, …)
OperationalOK, fine, green, upHealthy and live
Degradedwarning, iffy, partialRunning but at risk / reduced
Offlinedead, broken, errorNot reachable / not running
Discoveryscan, sync, refreshThe process that finds resources
Approvalsign-off, confirm, ackA human authorising a proposed action
Sealedlogged, saved, recordedWritten to the tamper-evident audit log
MUSTTreat this glossary as canonical across UI, docs, CLI, and notifications. If a new concept needs a word, add it here first.
4.4 · Content

Microcopy library

Ready-made strings for the situations that recur. Copy these; don't reinvent them.

4.4.1 Buttons

ActionLabel
Start discoveryRun discovery
Confirm a proposed fixApprove
Destructive, irreversibleDestroy VM 109
Dismiss without actingCancel
Retry a failed opRetry
SHOULDLabel buttons with the verb of the outcome, and name the object in destructive actions ("Destroy VM 109", not "Delete"). The button should make sense read aloud without the dialog.

4.4.2 Errors

SituationMessage
Host unreachableCouldn't reach pve3 — connection timed out after 30s.
ValidationNot a valid hostname.
PermissionYou don't have permission to apply changes in this tenant.
QuorumCluster is read-only — quorum lost (pve3 down).
MUSTAn error states what happened and, where possible, what to do. Never expose a raw stack trace or an opaque code as the entire message.

4.4.3 Empty & confirmations

SituationCopy
Empty inventoryNo resources yet — discovery hasn't found anything on this host.
No alerts (good)All clear. Nothing needs your attention.
Destructive confirmThis permanently destroys VM 109. monitoring.ryanit.com will be repointed first.
Success toastSaved to Vault

4.4.4 Notifications

SeverityPattern
P1 criticalP1 · Quorum lost — pve3 unreachable. Cluster read-only.
P3 warningP3 · MinIO read-only risk — dual-VM host detected.
RecoveryRecovered · pve3 back online. Quorum restored.
SHOULDLead a notification with its severity and the subject, then the consequence. Always send a matching recovery notice — an alert with no all-clear leaves the operator guessing.
4.5 · Content

Status & severity language

Severity has a fixed register. The words, colour, and urgency are paired so they can never drift apart.

SeverityColourRegisterPages?
P1 · Critical--dangerDirect, consequence-first. "Cluster read-only."Yes, immediately
P2 · Major--dangerFirm. "A failure domain is compromised."Yes
P3 · Warning--warnMeasured. "At risk if a host is lost."Digest
P4 · Info--infoNeutral. "Discovery completed."No
NEVERInflate severity for attention. Marking routine info as P1 is the fastest way to make operators mute Aros entirely — and a muted alarm is worse than none.
End of Volume IV

Next: Applications

The system is fully specified. Volume V — Applications → takes it into the world — and lists everything you must never do to it.

Copied