# Hallmark's Pre-Emit Self-Critique and Six-Axis Scoring Explained

> Understand Hallmark's pre-emit self-critique and its six-axis scoring system. Learn how it ensures artifact quality by scoring Philosophy, Hierarchy, Execution, Specificity, Restraint, and Variety.

- Repository: [Hassan El Mghari/hallmark](https://github.com/Nutlope/hallmark)
- Tags: deep-dive
- Published: 2026-08-05

---

**Hallmark's pre-emit self-critique is an internal quality gate that scores generated artifacts 1–5 on six axes (Philosophy, Hierarchy, Execution, Specificity, Restraint, Variety) and blocks output if any score falls below 3.**

The **pre-emit self-critique** is the first quality checkpoint in Nutlope/hallmark's generation pipeline. Before Hallmark returns any CSS or design artifact, it evaluates the work against six structured criteria. This ensures conceptual and structural soundness before the main "slop-test" gate suite runs.

## What Triggers the Pre-Emit Self-Critique

According to [`skills/hallmark/SKILL.md`](https://github.com/Nutlope/hallmark/blob/main/skills/hallmark/SKILL.md), the self-critique runs automatically for every generated file. The process follows three rigid steps:

1. **Score all six axes** from 1 (poor) to 5 (excellent)
2. **Trigger revision if any axis scores below 3**
3. **Record scores** in a single-line comment stamp at the file's top

If revision is required, Hallmark loops back and re-evaluates before the 58-gate slop-test suite begins.

## The Six Axes Scoring System

Each axis evaluates a distinct dimension of design quality. The letters encode into the file stamp in order: **P, H, E, S, R, V**.

### Philosophy (P)

Does the page express a clear *why* — a position or purpose — rather than just a layout? High scores require intentional meaning behind the design choices, not merely aesthetic arrangement.

### Hierarchy (H)

Is the visual hierarchy obvious in ≤2 seconds? The viewer must immediately distinguish primary, secondary, and tertiary elements without conscious effort.

### Execution (E)

Are details correct without sloppiness? This covers rule weight, accent footprint, text-wrap behavior, focus rings, and contrast ratios. Execution demands precision at the pixel level.

### Specificity (S)

Does the output feel tailored to the current brief? Generic, template-like results score low. The design must demonstrate clear response to the specific problem context.

### Restraint (R)

Has every unnecessary element been removed? This penalizes decoration for decoration's sake, redundant structures, and padding that serves no functional purpose. Less must earn its keep.

### Variety (V)

Does the output differ structurally from previous Hallmark artifacts in the project? Color swaps alone do not count. True variety requires architectural differentiation.

## How Scores Appear in Generated Files

The pre-emit critique stamp sits as the first line of every Hallmark-generated file. Here's a typical example from the [`slop-test.md`](https://github.com/Nutlope/hallmark/blob/main/slop-test.md) reference:

```css
/* Hallmark · pre-emit critique: P5 H4 E5 S4 R5 V5 */
:root {
  --color-primary: #0f0f0f;
  --color-surface: #fafafa;
}

body {
  font-family: system-ui, sans-serif;
  line-height: 1.5;
}

```

The comment encodes: Philosophy 5, Hierarchy 4, Execution 5, Specificity 4, Restraint 5, Variety 5. Only Hierarchy and Specificity triggered mild concern, but neither fell below the revision threshold of 3.

## Where the Rules Are Defined

The six-axis system lives in two core files:

- **[`skills/hallmark/references/slop-test.md`](https://github.com/Nutlope/hallmark/blob/main/skills/hallmark/references/slop-test.md)** — Contains the full specification of the pre-emit self-critique, including axis definitions, scoring rubric, and revision logic
- **[`skills/hallmark/SKILL.md`](https://github.com/Nutlope/hallmark/blob/main/skills/hallmark/SKILL.md)** — Declares the workflow step that enforces the critique and links to the slop-test reference

The [`README.md`](https://github.com/Nutlope/hallmark/blob/main/README.md) provides high-level context, noting the "58 gates + pre-emit self-critique" architecture that defines Hallmark's quality pipeline.

## Why the Minimum Threshold Matters

The **<3 revision trigger** prevents low-quality concepts from reaching computationally expensive visual checks. Catching philosophical emptiness or structural ambiguity early saves resources downstream. It also forces Hallmark to address fundamental problems rather than polishing flawed foundations.

This design reflects a core principle in the source code: **execution quality cannot rescue conceptual weakness**. The six axes prioritize thinking over technique at the earliest possible stage.

## Summary

- **Pre-emit self-critique** runs before any Hallmark output is returned
- **Six axes** (P, H, E, S, R, V) score design quality 1–5
- **Any score below 3** triggers automatic revision
- **Scores are recorded** in a top-of-file comment stamp for auditability
- **Source definitions** live in [`slop-test.md`](https://github.com/Nutlope/hallmark/blob/main/slop-test.md) and [`SKILL.md`](https://github.com/Nutlope/hallmark/blob/main/SKILL.md) within the `skills/hallmark/` directory

## Frequently Asked Questions

### What happens if multiple axes score below 3?

Hallmark performs a revision pass that addresses all failing axes simultaneously. The system does not exit until every axis reaches 3 or higher. Only then does the slop-test gate suite execute.

### Can the six-axis scores be customized per project?

The current implementation in [`skills/hallmark/references/slop-test.md`](https://github.com/Nutlope/hallmark/blob/main/skills/hallmark/references/slop-test.md) uses fixed axes and thresholds. There is no configuration hook for project-specific criteria — the six dimensions are treated as universal design fundamentals.

### How does the pre-emit critique relate to the 58 slop-test gates?

The self-critique is a **conceptual prerequisite**. It filters out fundamentally broken work before the 58 gates evaluate visual execution details. Think of it as a coarse filter protecting fine-grained analysis from obvious failures.

### Where can I see examples of the score stamp in practice?

The Hallmark repository does not commit generated artifacts, but the [`slop-test.md`](https://github.com/Nutlope/hallmark/blob/main/slop-test.md) reference file includes the `/* Hallmark · pre-emit critique: P5 H4 E5 S4 R5 V5 */` format specification. Running Hallmark locally produces files with live stamps reflecting actual scores.