01
Central idea
A harness is what sits around the work: what bounds, observes, records and decides when something may advance. The brand represents that — a core of light held by a structure that does not move. Nodes stand for agents, lanes and evidence; portals stand for criteria the work has to cross.
Tone: precise, operational, curious and direct. The product speaks through demonstrable mechanisms, never through adjectives. There are no characters and no reference to third-party franchises.
02
Signature
Operate coding agents under evidence, not trust.
Portuguese version for running text: Opere agentes de código sob evidência, não confiança.
Support lines, for opening, footer and release:
- Open-source agentic tooling for people who build.
- Open. Modular. Auditable. Composable.
- Built in public. For a more capable tomorrow.
- Welcome to the party. — the closing line of the installation, and only there.
03
The five words
AGENTS · EVIDENCE · MEMORY · PROTOCOL · CONTINUITY
They appear in upper case, spaced, as a label — never as a sentence. They are the five things the harness carries, and the order is fixed.
04
Palette
| Token | Value | Use |
|---|---|---|
| black | #000000 | background of the lockup and of brand material |
| charcoal | #0F1113 | interface background, elevated surface |
| warm-white | #F4F1EB | primary text on dark, and the chrome of the wordmark |
| signal-orange | #FF6A00 | single accent: focus, approved gate, the core of the symbol |
Four colours, one accent. The orange is not decoration: it marks the point of attention on the screen, and a screen with two points of attention has none. Colour never carries meaning alone — a label or an icon always goes with it.
For state, the interface uses the terminal's own red (the palette has no red on purpose) and never paints a background: a light terminal stays readable.
The vector assets carry only these four values: a lighter step is the same token at reduced
opacity, never a fifth colour. Measure it with grep -o '#[0-9A-Fa-f]\{6\}' assets/*.svg | sort -u.
05
Typography
| Role | Stack |
|---|---|
| display / lockup | custom drawing (the wordmark is artwork, not a font) |
| headings | Sora, Inter, Segoe UI, sans-serif — heavy weight, tight tracking |
| body | Inter, Segoe UI, Arial, sans-serif |
| code, metric and label | JetBrains Mono, Cascadia Code, Consolas, monospace |
| interface label | upper case, wide letter-spacing, monospace |
No published asset carries a webfont: the stack is system-only, and the self-contained material makes no external request.
06
Assets
| File | Use |
|---|---|
assets/hpp-logo.png | the official lockup — chrome on black, with the core in orange. It is the approved artwork; do not redraw, recolour or crop |
assets/hpp-icon-512.png · -256 · -128 · -64 · -32 | the badge alone, square — avatar, favicon and app icon. Derived from the lockup by cropping, never redrawn |
assets/hpp-logo-header.png | the same lockup at 1440 px, for page headers. It is the approved artwork resized — not redrawn, not recoloured, not cropped — so a header and the README show one brand |
assets/hpp-mark.svg | the symbol as vector, for where raster does not serve (print, large scale). Drawn after the approved badge, so it reads as the same mark; where fidelity decides, use the raster lockup |
assets/social-preview-1280x640.png · docs/assets/social-preview-1280x640.png | social card, 1280×640 — the lockup, the five words, spec-driven · wave-driven · lane-isolated and the signature on black. The copy under assets/ is the file to upload as the repository's social preview (GitHub has no API for it); the site's og:image points at the copy under docs/assets/. Both carry the same bytes (sha256sum on the two files) |
Deprecated: assets/hpp-logo-light.svg, assets/hpp-logo-dark.svg,
assets/hpp-banner-light.svg and assets/hpp-banner-dark.svg carry an earlier drawing of the
mark (flat cream and orange), not the approved chrome-on-black lockup. Use
assets/hpp-logo-header.png for the lockup and assets/hpp-mark.svg for the symbol. The four
files stay in the repository for reference only; publishing them shows the wrong mark.
The symbol does not encode the number of modules: the harness can grow without redrawing the brand.
In the CLI, the lockup is rebuilt in terminal blocks (█ ▓ ░) in the same palette, with declared
degradation: truecolor → 256 colours → 16 colours → no colour at all when there is no TTY or when
NO_COLOR is set.
07
Message architecture
- Harness — the product.
- Protocol — the executable rules.
- Modules — the installable capabilities.
- Distribution — the channels per host.
Do not open a page with the number of modules. Do not call distribution the product. Do not use "autonomous", "deterministic", "learns" or "cross-host" without bounding mechanism and scope.
08
Accessibility
- minimum WCAG AA contrast;
- visible focus in
#FF6A00on#0F1113, and#0F1113on#F4F1EB; - support for 320, 375, 768 and 1280 px;
prefers-reduced-motionturns off all animation, and the information stays complete.
09
Do not use
- gradient as subject — the gradient exists in the lockup and is not repeated in the interface;
- colour without a label;
- robot, brain or humanoid illustration;
- franchise, character or film metaphor;
- number of modules as a headline;
- emoji in CLI output.