Spec Design System
Spec sections
- Header — title, status badge, date, owner
- Problem
- Goals & non-goals
- Approach
- Design
- Open questions
- References
Color
bg
#fafaf9
surface
#ffffff
rule
#e7e5e4
muted
#78716c
text
#1c1917
accent-light
#fef3c7
accent
#b45309
accent-tint
#fde6d8
accent-dark
#7c2d12
Typography
DisplayInbound email triage
SectionApproach comparison
HeadingBypass for known senders
BodyThe classifier rejects 4% of legitimate vendor invoices.
Meta
Code(known-sender? email)
Spacing
4
8
12
16
24
32
48
64
Status badges
Draft In review Approved Archived
Callouts
Note
Background information that's useful but optional.
Decision
A choice the author is making explicit. Searchable: future readers grep for "Decision".
Warning
Something that has bitten us before. Use sparingly — over-warning blunts the signal.
Tables
| Queue | Concurrency | Max retries |
|---|---|---|
| document-input | 4 | 3 |
| document-ocr | 2 | 5 |
| document-output | 8 | 3 |
| Option | Effort | Risk | Reversible? |
|---|---|---|---|
| Retrain classifier | High | Medium | Yes |
| Bypass for known senders | Low | Low | Yes (flag) |
| Two-pass triage | Medium | Medium | Partial |
Code
Manual syntax tags inline: kw, str, num, fn, com, lang-tag.
clojure;; bypass check (defn known-sender? [email] (contains? @trusted-domains (:from-domain email)))
Diagrams
Inline SVG only. Wrap in <figure> with a <figcaption>.
Pros & cons
Pros
- Lowest implementation cost
- Reversible behind a flag
- No model retraining
Cons
- Doesn't fix unknown legitimate senders
- Manual list maintenance