Brand book
Summit Base db
The constraint envelope every adaptive profile operates within. Untouchable items must survive every overlay; bounded tokens accept values inside a range; relationships are invariants enforced after composition.
Layer 1
Untouchable — the brand DNA
No packet may alter these. A hard violation fails the build via validate-packets.ts.
Brand marks
- logo
The Summit Base db logo and wordmark — must render unchanged
- primary_green#3ECF8E
Studio's identity green. Must be present somewhere on every screen, never replaced.
Semantic palette
- successgreen 130–160°
Success states (saved, healthy, online) must read as green
- warningamber 35–55°
Warning / attention states must read as amber
- errorred 0–15° or 350–360°
Destructive / error states must read as red
- infoblue 200–230°
Informational states must read as blue
Structure
- nav_order
Top-level nav order — Dashboard, Table Editor, SQL Editor, Authentication, Storage, Edge Functions, Reports, Settings, Logs, Realtime, Extensions, API Docs. Packets may collapse / hide / re-style nav, but never re-order it mid-session.
- destructive_confirmation_flow
The 'are you sure?' dialog flow before destructive actions. Packets may add advance-notice strips ABOVE the dialog (Nate) but may never remove or shorten the confirmation itself.
Accessibility floors
- wcag_2_2_aa_body
Body text contrast ratio against background must be ≥ 4.5:1 after composition
- wcag_2_2_aa_ui
Non-text UI contrast (icons, focus rings, borders) must be ≥ 3:1
- target_size_floor
Interactive target minimum 44×44 CSS pixels (WCAG 2.5.8)
- focus_ring_floor
Focus indicator visible state — width ≥ 2px, contrast ≥ 3:1
Layer 2
Bounded tokens — the design space
Packets may set values within these bounds. Bars below show the legal range; markers show each profile's chosen value. A packet that omits a token inherits the default.
Multiplier on Studio's base spacing scale. Used by Nate (1.45) for dyslexia comfort and Monica (1.15) for HSP breathing room.
Multiplier on base font sizes. Hard relationship rule: type-scale must not drop below 1.0 if spacing-scale > 1.0.
Body line-height. Higher values reduce phonological reading cost (dyslexia compensation) and crowding (HSP).
Base transition duration. 0 disables all parallax / autoplay / marquee — see relationship rule.
Discrete motion state. Must be 'none' when motion-duration-ms is 0 (see motion_zero_kills_autoplay).
Information density at the layout level.
How much detail surfaces by default before user expansion.
Default maximum items shown per group before pagination / overflow.
Global hue rotation applied to non-semantic accent colours only. Semantic palette (success / warning / error / info) is exempt.
Saturation multiplier on non-semantic accents. Hard rule: dropping below 0.7 must trigger contrast-boost ≥ 1.1 to preserve WCAG.
Named palette modes. Each value maps to a hue/saturation envelope below in palette_envelope. cold / data-blue = analytical; warm / calm-warm = collaborative + HSP-aware; calm-muted = full HSP-tempered desaturation.
Multiplier on UI contrast. Cap is 1.15 — going higher destroys the brand's quiet aesthetic.
Base border-radius for cards, buttons, inputs.
Controls copy length for descriptions, helper text, success messages.
Layer 2b
Palette envelope — named regions
Each named palette is bounded by HSL ranges. Profile chrome values must compose to fall inside its envelope; the validator checks this after applying intensity multipliers.
Cool steel — analyst convention, low-chroma.
Studio default — minimal chromatic activity, brand green carries identity alone.
Amber-side of warm. Reserved for future profiles; HSP-likely profiles must use calm-warm instead.
Sage / cream low-saturation. HSP-respectful warmth — green-yellow undertone, never amber-loud. Used by Monica.
Cool monochrome. Maximal desaturation for HSP + ASD compensation. Used by Nate.
Steel-blue with enough chroma to read as 'analytical tool'. Used by Sara.
Layer 3
Relationships — composition invariants
After tokens are composed, these rules are checked. Hard rules fail the build; soft rules emit warnings.
spacing-scale > 1.0 implies type-scale >= 1.0
Increasing whitespace without scaling type makes content feel lost in the page.
motion-duration-ms == 0 implies all parallax, autoplay, marquee, and ambient animations disabled
Honours prefers-reduced-motion and ASD/HSP compensation patterns. A zero duration must cascade — half-disabling animations is worse than not disabling at all.
palette-saturation-mult < 0.7 implies contrast-boost >= 1.1
Desaturating accents reduces perceived contrast; the boost compensates so WCAG floors hold.
density == 'compact' implies disclosure in ['standard', 'detailed', 'exhaustive']
Compressing layout AND hiding detail removes too many affordances at once. Prefer one or the other.
no packet may overwrite any item listed in untouchable.*
Brand integrity is non-negotiable.
after applying token deltas, all WCAG floors in untouchable.accessibility_floors must still hold
A combination of small individual changes can compose into an out-of-floor result. Validation runs after composition, not before.
AODT
Provenance — why each profile diverges
Each adaptation traces back to specific neuro-chemical / cognitive signals (HSP, GLUT, DA, NE, GABA, CORT, plus the OCEAN traits). Below is the source-of-truth list per profile.
Monica
Connector"Bring the team into the workflow."
- HSP likely (0.900)spacing-scalemotion-duration-mspalette-saturation-multdensity
- GABA −22 (severe — poor sensory gating)motion-duration-mspalette-saturation-mult
- Connector — Agreeableness +0.571slot:right-railslot:cell-suffixtone-overrides
- Extraversion +0.250slot:right-rail
- ADHD possible (0.580) — DA-seeking activeslot:save-confirmation
Nate
Explorer"Show me what I don't already know."
- ADHD likely — DA −47, NE −55 (extreme)slot:main-postludeslot:advance-noticeverbosity
- ASD likely — prediction-error compensation activemotion-duration-msslot:advance-noticedata-attributes:disclosure
- Dyslexia likely — Magno↓, Glutamate +36spacing-scaletype-scaleline-heightslot:row-icon
- HSP 0.95 — sensory flood activepalette-saturation-multmotion-duration-msspacing-scale
- Explorer — Openness +0.296, Conscientiousness −0.214slot:main-preludedata-attributes:density
- Anxiety likely — CORT +26slot:advance-noticemotion-duration-ms
Sara
Analyst"Numbers first. Then we talk."
- Analyst — Agreeableness 0.000 (analytical pole)slot:main-preludetone-overridesverbosity
- Openness +0.439data-attributes:disclosure
- Extraversion +0.429slot:keyboard-hints
- ADHD likely (1.000) — DA-seeking activeslot:main-postludemotion-duration-ms
- HSP likely (0.600)motion-duration-mspalette-saturation-mult
- Anxiety likely (0.600) — CORT +19slot:main-postludeverbosity
- Dyslexia possible (0.500)slot:table-row-trailing