# Modern SaaS — style guide for coding agents

> Generated from the Aesthetary record for **Modern SaaS**.
> Research: **Partly sourced** · Build guidance: 25 rules recorded.
> 22 sources attached.

## How to use this

Paste this file into your agent as context before asking it to design or build something in this visual language. It states what is established, what is our interpretation, and what nobody has established. Treat all three differently.

**The most important section is "Not researched yet".** Its purpose is to stop you and your agent inventing rules that sound right and are not recorded anywhere.

## What this language is

The commercial default of contemporary B2B software marketing. Measurement finds no characteristic hue, radius or ground — what recurs is one restrained accent and a page that shows the product.

**Defining:** Neutral ground, one saturated accent reserved for the primary action, rounded cards under soft elevation, product screenshot hero, customer logo bar

**Recognise it by:** A neutral ground — most often near-white, sometimes near-black — carrying one saturated accent reserved almost exclusively for the primary action, rounded cards under soft low-opacity elevation, and a hero usually occupied by a screenshot of the product itself. The screenshot hero plus the customer logo bar places a page in B2B software within a second, but that is a MARKETING signature rather than a visual grammar, and neither element is required: Mailchimp leads with illustration and is unquestionably SaaS. Sans-serif type and rounded corners are far too common to identify anything, and direct measurement finds no characteristic accent hue and no characteristic radius.

**Family:** Minimal & Ordered
**Era:** contemporary
**Native medium:** screen

**Scope:** The marketing-site presentation of contemporary business-software vendors. GitHub keeps a separate Primer Brand system for marketing sites and aims for compact product UI, and a draft Primer guideline pairs density on product with spaciousness on marketing; Atlassian keeps separate brand guidance for marketing. The record is therefore scoped to marketing pages; product and dashboard UI are outside it until studied. The name and the grouping into one register are Aesthetary's construction, not an attested movement.

## What it is arguing

Signals category membership and operational competence by looking like the other credible products in the category. Legibility of the offer matters more than distinction from competitors.

## What it is not

Commonly confused with these. Getting the difference right matters more than getting the surface right:

- Flat Design
- Utilitarian
- Glassmorphism — Requires something behind the glass, so the palette constraint runs page-wide

## Established rules

Grouped by what kind of claim each is. A requirement of the language and our own interpretation are not interchangeable.

**How to read each rule.** Every rule states two separate things, and neither stands in for the other:

- **Kind of claim** (the heading): Our reading · Not part of the aesthetic · Our reading · disputed · Seen in the work · Our reading · disputed · Our reading · Seen in the work · Documented · Source attached.
- **Evidence** (how it is established): Graded by our research brief · No source attached (`DOCUMENTED`) · From our catalogue entry (`SUPPORTED`) · Our reading (`CURATORIAL`) · Not researched yet (`UNKNOWN`) · No grade recorded (no grade in the record). Where a claim has its own canonical label, the Evidence line gives that label instead of the grade.
- **Product area**: which of the twelve areas the rule belongs to (Layout, Typography, Color, Imagery, Surface, Interface, Motion, Motif, Technique, Form, Hierarchy, Density), mapped from its raw area label in bold. "Context" means the rule is about the Aesthetic (its name, origin, lineage) rather than a part of the design. "Not mapped" means the raw area has no single area yet.
- The code in brackets is the `grade` field at `implementationConstraints.tokenRules.value.rules[].provenance.grade` in https://aesthetary.com/data/modern-saas.json. "From our catalogue entry" means: Stated in Aesthetary’s existing catalogue entry. An outside source is named only where one is linked to the claim.

### Our reading

- **color** — Most often a near-white ground. The register also occurs dark-first, and neither ground is required.
  - Kind of claim: Our reading · Evidence: Our reading · Product area: Color
- **spacing** — Section rhythm from a consistent base unit, commonly 4 or 8 px.
  - Kind of claim: Our reading · Evidence: Our reading · Product area: Layout

### Not part of the aesthetic

- **color** — Secondary text must still meet 4.5:1. The characteristic grey-on-white secondary text is the register's most common accessibility failure.
  - Kind of claim: Not part of the aesthetic · Evidence: Not part of the aesthetic · Product area: Color
- **color** — Aurora field is background only and may never be the contrast source for text.
  - Kind of claim: Not part of the aesthetic · Evidence: Not part of the aesthetic · Product area: Color
- **target_size** — Interactive targets at least 24 by 24 CSS px.
  - Kind of claim: Not part of the aesthetic · Evidence: Not part of the aesthetic · Product area: Interface

### Our reading · disputed

- **imagery** — The hero is usually occupied by the product interface itself rather than by photography or illustration.
  - Kind of claim: Our reading · disputed · Evidence: Our reading · disputed · Product area: Imagery

### Seen in the work

- **color** — One saturated accent, reserved for the primary action rather than for decoration. NO HUE IS CHARACTERISTIC — choose freely.
  - Kind of claim: Seen in the work · Evidence: Seen in the work · Product area: Color

### Our reading · disputed

- **radius** — One consistent corner radius across components. No magnitude is characteristic.
  - Kind of claim: Our reading · disputed · Evidence: Our reading · disputed · Product area: Interface
- **shadow** — Exactly one elevation step. Large blur, low opacity, small downward offset.
  - Kind of claim: Our reading · disputed · Evidence: Our reading · disputed · Product area: Interface

### Our reading

- **typography** — Sans-serif throughout, two weights, tight tracking on display sizes.
  - Kind of claim: Our reading · Evidence: Our reading · Product area: Typography

## Found in research

What research established from sources Aesthetary opened and checked. Each line names its area, how it is known, and where it is scoped. "Seen in the work" means the source documents particular works or products rather than the Aesthetic as a whole.

- **Motion** — Atlassian's design system asks core components to use motion for clarity, while branded experiences can use richer, more expressive motion.
  - Evidence: Seen in the work · Claim: `kcc:motion-1` · Covers Atlassian Design System.
- **Motion** — Tailwind's default transition duration is 150 ms; treating that value as a toolchain default rather than a stylistic choice is Aesthetary's reading.
  - Evidence: Seen in the work · Claim: `kcc:motion-3` · Covers Tailwind CSS.
- **Motion** — Transitions and animations are near-universal on the web (85% and 77% of mobile pages in 2022), so their presence does not identify this register.
  - Evidence: Documented · Source attached · Claim: `kcc:motion-2` · Covers all web pages, HTTP Archive 2022; not a SaaS sample.
- **Motion** — Reduced-motion handling is common: prefers-reduced-motion appears on about a third of pages.
  - Evidence: Documented · Source attached · Claim: `kcc:motion-4` · Covers all web pages, 2022.
- **Hierarchy** — One primary call to action per page or area marks the most important action.
  - Evidence: Seen in the work · Claim: `kcc:hierarchy-1` · Covers Atlassian product guidance.
- **Hierarchy** — Raised elevation used for emphasis is limited to one section or focal point.
  - Evidence: Seen in the work · Claim: `kcc:hierarchy-2` · Covers Atlassian.
- **Density** — Spacing comes from a scale on a fixed base unit (8 px at Atlassian), with smaller steps reserved for compact UI.
  - Evidence: Seen in the work · Claim: `kcc:density-2` · Covers design-system and toolchain documentation.
- **Density** — GitHub's Primer aims for a fast, compact product experience, and a draft Primer guideline outline pairs density on product with spaciousness on marketing pages.
  - Evidence: Documented · Source attached · Claim: `kcc:density-1` · Covers GitHub. S8 is a proposed guideline outline, not a published rule..

## Positions by area

The overall position recorded for each area. "No overall position recorded" means rules exist for the area but no position above them; the rules still apply. It is not the same as "Not established", which means nobody has researched the area.

- **Layout** — Core, and specified
- **Typography** — Core, and specified. Neo-grotesk or geometric sans, two weights, tight display tracking. LOW CONFIDENCE: contemporary convention rather than doctrine, and the convention is drifting.
- **Color** — Core, and specified
- **Imagery** — Core, and specified. Product screenshot as hero plus a customer logo bar - named in the recognition signature as the diagnostic pair. Presence is REQUIRED: the register is not itself without it. The screenshot is a content dependency, recorded as production_dependency, not an ontology gap.
- **Interface** — Core, and specified
- **Motion** — Left open. Scroll-triggered fade-and-rise is near-ubiquitous, but nobody has authored it and it is not established whether it is characteristic or merely current. Genuinely unknown, not permissive.
- **Surface** — Outside this language. No characteristic surface treatment. Flat fills and occasional subtle noise both occur; neither identifies the register, so an agent may choose.
- **Motif** — Outside this language. The register has no motif vocabulary.
- **Technique** — Outside this language. Screen-native; no production technique is implicated.
- **Form** — Outside this language. No three-dimensional organisation.

## Design grammar — web primitives

A starting grammar for a Modern SaaS marketing page: a neutral ground, one saturated accent kept for the primary action, sans-serif in two weights, one radius, one elevation step, an 8px rhythm, and a hero that shows the product. None of it is required; all of it is recognisable.

Three kinds of line: **On the record** names a rule this record holds (its wording is under Established rules) and states what it becomes on the web. **Web translation** is Aesthetary's choice for the web, derived from the rules it cites; change it if you have a reason, keep the cited rule. **Not specified by the source** means the research reached this but the sources say nothing about it; **Not researched yet** means the research has not reached it yet. Either way, follow the instruction and do not invent a rule. Structured version: `designGrammar` in data/modern-saas.json.

### Colour

| Role | Value | Contrast | Use | Kind |
| --- | --- | --- | --- | --- |
| ground | `#FFFFFF` | — | The page: near-white, the most common case. | On the record |
| band | `#F7F7F8` | — | Alternate sections. | Web translation |
| ink | `#0F1115` | 18.9:1 | Headings and body. | Web translation |
| muted | `#5B6270` | 6.1:1 | Secondary text, never below 4.5:1. | Web translation |
| line | `#E6E7EB` | — | Hairlines on cards and dividers. | Web translation |
| accent | `#F5A524` | 9.1:1 (near-black on it) | The primary action, and nothing else. | Web translation |
| accent-ink | `#1A1204` | — | Text on the accent. | Web translation |

Other accents the record supports:

- dark-first (recorded as "the register also occurs dark-first"): `#0F1115`

- **On the record · Seen in the work** · `token_rule:single-accent` → One saturated accent, reserved for the primary action. No hue is characteristic: choose freely.
- **On the record · Our reading** · `token_rule:ground-light-default` → Most often a near-white ground; dark-first also occurs, and neither is required.
- **On the record · Not part of the aesthetic** · `token_rule:secondary-text-contrast` → Secondary text must still meet 4.5:1.
- **On the record · Not part of the aesthetic** · `token_rule:gradient-not-contrast-source` → A gradient field is background only and never the contrast source for text.
- **Web translation** — Use amber as the accent. _Why:_ The hue is free; this page’s amber was chosen against the falsified indigo and against Aesthetary’s own violet. (`token_rule:single-accent`)

### Typography

Family: a neutral grotesque sans. Stack: `"Geist", system-ui, -apple-system, "Segoe UI", sans-serif`

| Role | Size | Weight | Line height | Case | Tracking | Measure | Use |
| --- | --- | --- | --- | --- | --- | --- | --- |
| display | clamp(2.75rem, 7vw, 4.75rem) | 600 | 1.02 | not specified | -0.03em | 14ch | The hero headline. |
| heading | 2rem | 600 | 1.15 | not specified | -0.02em | — | Section heads. |
| body | 1.0625rem | 400 | 1.6 | not specified | not specified | 70ch | Reading text. |

- **On the record · Our reading** · `token_rule:sans-serif` → Sans-serif throughout, two weights, tight tracking on display sizes.
- **Web translation** — Set it in Geist at 400 and 600. _Why:_ Sans-serif identifies nothing on its own; the measured sites mostly use their own faces, so the face is ours to choose. (`token_rule:sans-serif`)

### Grid and layout

A centred 1140px column on an 8px base unit, with generous section spacing: marketing pages are the spacious half of the pair.

Module 8px · gutter 24px · margin 24px

| Viewport | Columns |
| --- | --- |
| 1024px and up | 12 |
| 640–1023px | 6 |
| under 640px | 1 |

Tokens: container `1140px` · section `88px`

- **On the record · Our reading** · `token_rule:spacing-base-unit` → Section rhythm from a consistent base unit, commonly 4 or 8 px.
- **On the record · Seen in the work** · `claim:kcc:density-2` → Spacing comes from a scale on a fixed base unit (8 px at Atlassian), smaller steps kept for compact UI.
- **On the record · Documented** · `claim:kcc:density-1` → Density belongs to product; marketing pages are the spacious ones.
- **Web translation** — Centre a 1140px container and space sections 88px apart. _Why:_ Both are multiples of the 8px unit; the large section step is the marketing side of the density pair. (`token_rule:spacing-base-unit`, `claim:kcc:density-1`)

### Shape and geometry

Tokens: radius `10px` · elevation `0 8px 24px -6px rgba(15,17,21,.10), 0 2px 4px rgba(15,17,21,.04)`

- **On the record · Our reading · disputed** · `token_rule:radius-consistent` → One consistent corner radius across components; no magnitude is characteristic.
- **On the record · Our reading · disputed** · `token_rule:one-elevation-step` → Exactly one elevation step.
- **Web translation** — Use 10px. _Why:_ Any single radius satisfies the rule; 10px is the room’s. (`token_rule:radius-consistent`)

### Imagery

- **On the record · Our reading · disputed** · `token_rule:product-screenshot-hero` → Put the product interface in the hero, not photography or illustration.
- **Web translation** — Show your own product as it is, and put only real customers in a logo bar. _Why:_ The screenshot and the logo bar are proof devices; a staged interface or an invented logo is a false claim, not a style. (`gestalt`, `token_rule:product-screenshot-hero`)
- **Not specified by the source** — The sources do not specify illustration or photography outside the hero. _Instead:_ Use them only if the product needs them; do not treat them as part of the register.

### Marketing, not product

Vendors design the two apart. This grammar is for the marketing page; the dashboard behind the login is outside it until studied.

- **On the record · Documented** · `claim:kcc:scope` → The record covers the marketing-site presentation of business-software vendors; product and dashboard UI are outside it.
- **On the record · Documented** · `claim:kcc:density-1` → Product pages aim for compact density; marketing pages for spaciousness.

### Components

Anatomy, tokens and states below are Web translation: Aesthetary's specification for the screen. Each value line after them says whether it restates a rule this record holds.

#### Button

One filled button in the accent for the primary action; every other action is a quiet outline.

- Anatomy: accent fill, 10px radius; label in Geist 500; secondary: white fill, 1px line
- Tokens: fill `#F5A524` · label `#1A1204` · radius `10px` · min-height `44px` · transition `background-color 150ms`
- State, default: Amber fill, near-black label (9.1:1).
- State, hover: A darker amber, #E8981A.
- State, focus: 2px ink outline, 3px offset.
- State, active: The hover amber.
- State, disabled: Grey fill #F7F7F8, muted label, and “unavailable” in the accessible name.
- Accessibility: The accent is a fill under dark text, never text on white.
- Accessibility: Targets clear 24 by 24 px; these are 44 high.
- **On the record · Seen in the work** · `token_rule:single-accent` → Reserve the one saturated accent for the primary action.
- **On the record · Seen in the work** · `claim:kcc:hierarchy-1` → One primary call to action per page or area.
- **On the record · Not part of the aesthetic** · `token_rule:target-size` → Interactive targets at least 24 by 24 CSS px.
- **Web translation** — Set every other action as a white outline button. _Why:_ With the accent reserved, a secondary action needs a shape that is clearly a button and clearly not the primary one. (`token_rule:single-accent`, `claim:kcc:hierarchy-1`)

#### Card

A white panel on the one radius, under the one elevation step.

- Anatomy: white fill, 1px hairline; 10px radius; one soft shadow; heading, text
- Tokens: fill `#FFFFFF` · line `1px solid #E6E7EB` · radius `10px` · shadow `0 8px 24px -6px rgba(15,17,21,.10), 0 2px 4px rgba(15,17,21,.04)` · padding `24px`
- State, default: Raised one step.
- State, hover: Nothing moves.
- State, focus: 2px ink outline on the link inside.
- Accessibility: The hairline keeps the edge visible where the shadow is too faint to see.
- **On the record · Our reading · disputed** · `token_rule:radius-consistent` → One consistent corner radius across components.
- **On the record · Our reading · disputed** · `token_rule:one-elevation-step` → Exactly one elevation step: large blur, low opacity, small downward offset.
- **On the record · Seen in the work** · `claim:kcc:hierarchy-2` → Raised elevation used for emphasis is limited to one section or focal point.

#### Input

A white field with a hairline, on the same radius, label above.

- Anatomy: label above, Geist 500; white fill, 1px muted #5B6270 line; 10px radius
- Tokens: fill `#FFFFFF` · line `1px solid #5B6270` · radius `10px` · height `44px`
- State, default: Hairline.
- State, focus: 2px ink outline.
- State, error: A sentence under the field in ink, prefixed “Error:”, and aria-invalid.
- State, disabled: #F7F7F8 fill.
- Accessibility: A visible label on every field.
- Accessibility: Placeholder text is never the label, and meets 4.5:1 if used.
- **On the record · Our reading · disputed** · `token_rule:radius-consistent` → One consistent corner radius across components.
- **On the record · Not part of the aesthetic** · `token_rule:secondary-text-contrast` → Secondary text must still meet 4.5:1.
- **Web translation** — Keep the field’s line darker than the card hairline. _Why:_ A field has to be found without a shadow: the muted grey line is 6.1:1 on white, where the card hairline is too faint for a control. (`token_rule:secondary-text-contrast`, `token_rule:radius-consistent`)

#### Navigation

A white top bar: wordmark left, a few text links, one accent button right.

- Anatomy: wordmark; text links in muted grey; one primary button
- Tokens: height `64px` · link `#5B6270` · current `#0F1115` · button `#F5A524`
- State, default: Muted links.
- State, hover: Links darken to ink.
- State, focus: 2px ink outline.
- State, current: Ink, weight 500, and aria-current.
- Accessibility: Muted links on white are 6.1:1.
- Accessibility: aria-current on the current page, not colour alone.
- **On the record · Seen in the work** · `claim:kcc:hierarchy-1` → One primary call to action per page or area.
- **Web translation** — Put the area’s one accent button at the right of the bar. _Why:_ The bar is an area; its primary action takes the accent and nothing else in it does. (`token_rule:single-accent`, `claim:kcc:hierarchy-1`)

### Motion

Durations, easing and the rest of this specification are Web translation: Aesthetary's choice for the screen.

- Durations: state 150ms
- Easing: state `ease`
- Transforms: none
- Entrance: none
- Hover: Colour only, 150ms.
- Reduced motion: The colour changes instantly.
- **On the record · Documented** · `claim:kcc:motion-2` → Motion identifies nothing: transitions and animations are near-universal on the web.
- **On the record · Seen in the work** · `claim:kcc:motion-1` → Use motion for clarity in core components; branded experiences may be richer.
- **On the record · Seen in the work** · `claim:kcc:motion-3` → 150 ms is Tailwind’s default transition, a toolchain default rather than a stylistic choice.
- **On the record · Documented** · `claim:kcc:motion-4` → Handle prefers-reduced-motion; about a third of pages do.
- **Not specified by the source** — Scroll reveals and entrance animation are left open by the record. _Instead:_ Add none by default; left open is not permission.

### Deliberately not added

- **Product and dashboard components** (components): Outside the record’s scope until studied.
- **Scroll and entrance motion** (motion): Left open on the record.
- **Illustration and photography outside the hero** (imagery): Not specified by the source.

## Not researched yet

Every area of this record has a recorded position. That is unusual — most records do not.

## Grade your own work

16 checks: 3 mechanically testable, 10 needing a person to look, 1 needing a source Aesthetary does not hold, 2 with no recorded position. Scores do not add up. A failure against a required rule and a departure from something we invented are not the same result, and no total should let them cancel.

### Recognition — does this read as the intended Aesthetic?

- **[visual_human · recognition signature · Evidence: No grade recorded]** Strip every logo, word and borrowed image out of your work, then show it to someone who knows the collection. Do they land on this Aesthetic? The signature to hold is: A neutral ground — most often near-white, sometimes near-black — carrying one saturated accent reserved almost exclusively for the primary action, rounded cards under soft low-opacity elevation, and a hero usually occupied by a screenshot of the product itself. The screenshot hero plus the customer logo bar places a page in B2B software within a second, but that is a MARKETING signature rather than a visual grammar, and neither element is required: Mailchimp leads with illustration and is unquestionably SaaS. Sans-serif type and rounded corners are far too common to identify anything, and direct measurement finds no characteristic accent hue and no characteristic radius.
  - _If it fails:_ The work may be competent and still read as a different Aesthetic, or as none. Nothing below matters until this passes.

### Fidelity — are its defining rules present?

- **[unassessable · no recorded position · Evidence: Not researched yet (`UNKNOWN`)]** Nothing is recorded as a requirement of this Aesthetic. There is no rule here that your work must hold — which means nothing you do can fail this dimension, and nothing you do can satisfy it either. That is missing research, not freedom.
  - _If it fails:_ Not applicable. An empty dimension is an absence of research, never a pass and never a failure.

### Implementation — were those rules translated appropriately into this medium?

- **[visual_human · Our reading · Evidence: Our reading]** Your work may depart from this — but knowingly, not by accident. Most often a near-white ground. The register also occurs dark-first, and neither ground is required.
  - _If it fails:_ A defensible departure, and you should be able to say why you made it.
- **[mechanical · Not part of the aesthetic · Evidence: Not part of the aesthetic]** Your work may depart from this — but knowingly, not by accident. Secondary text must still meet 4.5:1. The characteristic grey-on-white secondary text is the register's most common accessibility failure.
  - _If it fails:_ A defensible departure, and you should be able to say why you made it.
- **[visual_human · Not part of the aesthetic · Evidence: Not part of the aesthetic]** Your work may depart from this — but knowingly, not by accident. Aurora field is background only and may never be the contrast source for text.
  - _If it fails:_ A defensible departure, and you should be able to say why you made it.
- **[visual_human · Our reading · disputed · Evidence: Our reading · disputed]** Your work may depart from this — but knowingly, not by accident. One consistent corner radius across components. No magnitude is characteristic.
  - _If it fails:_ A defensible departure, and you should be able to say why you made it.
- **[mechanical · Our reading · disputed · Evidence: Our reading · disputed]** Your work may depart from this — but knowingly, not by accident. Exactly one elevation step. Large blur, low opacity, small downward offset.
  - _If it fails:_ A defensible departure, and you should be able to say why you made it.
- **[visual_human · Our reading · Evidence: Our reading]** Your work may depart from this — but knowingly, not by accident. Sans-serif throughout, two weights, tight tracking on display sizes.
  - _If it fails:_ A defensible departure, and you should be able to say why you made it.
- **[mechanical · Our reading · Evidence: Our reading]** Your work may depart from this — but knowingly, not by accident. Section rhythm from a consistent base unit, commonly 4 or 8 px.
  - _If it fails:_ A defensible departure, and you should be able to say why you made it.
- **[evidence_dependent · Our reading · disputed · Evidence: Our reading · disputed]** Your work may depart from this — but knowingly, not by accident. The hero is usually occupied by the product interface itself rather than by photography or illustration.
  - _If it fails:_ A defensible departure, and you should be able to say why you made it.
- **[visual_human · Not part of the aesthetic · Evidence: Not part of the aesthetic]** Your work may depart from this — but knowingly, not by accident. Interactive targets at least 24 by 24 CSS px.
  - _If it fails:_ A defensible departure, and you should be able to say why you made it.
- **[visual_human · Seen in the work · Evidence: Seen in the work]** Your work may depart from this — but knowingly, not by accident. One saturated accent, reserved for the primary action rather than for decoration. NO HUE IS CHARACTERISTIC — choose freely.
  - _If it fails:_ A defensible departure, and you should be able to say why you made it.

### Avoidance — known failure modes, neighbour drift, cloning

- **[visual_human · neighbour drift · Evidence: No grade recorded]** Could your work be mistaken for Flat Design? That language is: No shadow or gradient at all, which separates it from every later UI style
  - _If it fails:_ Not necessarily wrong, but you are closer to Flat Design than to this Aesthetic.
- **[visual_human · neighbour drift · Evidence: No grade recorded]** Could your work be mistaken for Utilitarian? That language is: Plain by default rather than plain as a statement — the distinction from Web Brutalism
  - _If it fails:_ Not necessarily wrong, but you are closer to Utilitarian than to this Aesthetic.
- **[visual_human · neighbour drift · Evidence: No grade recorded]** Could your work be mistaken for Glassmorphism? That language is: Requires something behind the glass, so the palette constraint runs page-wide
  - _If it fails:_ Not necessarily wrong, but you are closer to Glassmorphism than to this Aesthetic.

### Accessibility — the Aesthetic preserved without its inaccessible practice

- **[unassessable · no recorded position · Evidence: Not researched yet (`UNKNOWN`)]** Does this Aesthetic conflict with any usability floor? Nobody has recorded one for it.
  - _If it fails:_ Nothing — and that is the problem. An unrecorded conflict is not an absent one. Hold AA on reading matter and decide the rest on other grounds.

## Rules for the agent

1. Do not invent rules for any area listed under **Not researched yet**.
2. Do not treat an absent position as permission to do anything you like — say that the language has no position, and decide on other grounds.
3. Keep our interpretations separable from the language's own requirements. If asked to justify a choice, cite which kind of claim it came from.
4. If you need something this record does not contain, say so rather than producing a confident answer from the aesthetic's name.
5. When you self-score against "Grade your own work", score only checks marked `mechanical`. Declare `visual_human` and `evidence_dependent` checks unjudged rather than guessing, and never score an `unassessable` one.
6. Evidence "Not researched yet" (`UNKNOWN`) is never a failure. It means nobody researched the dimension, so departing from what is written there costs nothing and must not be reported as a defect. "No grade recorded" is not a grade either: do not treat it as our decision or as an outside source.
7. In **Design grammar**, a "Web translation" line is our choice for the web and may be changed with a reason; the rules it cites may not. Never present a translation as a property of the language.

## Provenance

- Record: `modern-saas` · status `draft` · research `partly_researched`
- Full structured record: https://aesthetary.com/data/modern-saas.json
- Human-readable record: https://aesthetary.com/a/modern-saas.html
- This file is a snapshot. The record may have changed since; check the page above.

_Aesthetary is an alpha. Where a page says nothing, nobody has done the work yet._
