mirror of
https://github.com/Nutlope/hallmark.git
synced 2026-08-14 12:35:33 +02:00
Coherence pass: fix the five defects the v1.3 review surfaced
- main.js: 4 stray '57 gates' marketing strings -> 58 - all-themes.html: visible H1 '20 themes' -> '24 themes' - gen-cli.mjs header: correct arm ids (claude/glm/kimi) + token env names (ZAI_AUTH_TOKEN / MOONSHOT_AUTH_TOKEN) - ledger spec: radius claim '8px tight' -> '12px card / 8px controls' - arcade spec: note the starfield/scanline vars are page-local decorative tokens (define in :root per arcade-01), not catalog tokens - tier-e stamp example uses the real imagegen default; hyphens
This commit is contained in:
+4
-4
@@ -4,16 +4,16 @@
|
||||
// (load-order discipline, stamp, files written) - not just bare-API
|
||||
// instruction-following like Tier B (gen-direct.py).
|
||||
//
|
||||
// node gen-cli.mjs --brief b1|all --arm claude-cli|all [--force] [--dry-run]
|
||||
// node gen-cli.mjs --brief b1|all --arm claude|glm|kimi|all [--force] [--dry-run]
|
||||
//
|
||||
// IMPORTANT (measured): skills do NOT auto-trigger in `claude -p` headless mode,
|
||||
// so we invoke the skill BY NAME ("/hallmark <brief>"). This is a CONFORMANCE
|
||||
// harness (does the skill FOLLOW its discipline), not an auto-trigger test.
|
||||
//
|
||||
// Auth: the `claude-cli` arm sets NO key and uses your Claude subscription -
|
||||
// Auth: the `claude` arm sets NO key and uses your Claude subscription -
|
||||
// run it in a terminal where `claude` is logged in. The open-model arms
|
||||
// (glm-cli via Z.ai, kimi-cli via Moonshot) are Anthropic-shaped and DISABLED
|
||||
// until you add ANTHROPIC_AUTH_TOKEN for them; Together/OpenRouter cannot back
|
||||
// (glm via Z.ai, kimi via Moonshot) are Anthropic-shaped and DISABLED until you
|
||||
// add ZAI_AUTH_TOKEN / MOONSHOT_AUTH_TOKEN for them; Together/OpenRouter cannot back
|
||||
// `claude -p` (it needs an Anthropic-shaped endpoint).
|
||||
//
|
||||
// Output: eval/runs/<brief>/<arm>-cli/{index.html?, transcript.jsonl, run.json}
|
||||
|
||||
@@ -78,7 +78,7 @@
|
||||
</head>
|
||||
<body>
|
||||
<header class="top">
|
||||
<h1>Hallmark — all <b>20</b> themes</h1>
|
||||
<h1>Hallmark — all <b>24</b> themes</h1>
|
||||
<p class="sub">Live previews of the landing in each theme. Click any card to open it full in a new tab. Tags are my recommendation, not a decision — yours to make.</p>
|
||||
<div class="legend">
|
||||
<span><i class="dot dot--keep"></i> Keep — distinctive</span>
|
||||
|
||||
+4
-4
@@ -234,7 +234,7 @@ const COPY = {
|
||||
proofLabel: "Catalogued",
|
||||
proofA: "21 macrostructures · 50 archetypes",
|
||||
proofB: "14 navs · 8 footers · 4 polish patterns",
|
||||
proofC: "57 slop-test gates",
|
||||
proofC: "58 slop-test gates",
|
||||
cta: "Open the index",
|
||||
stat: "420",
|
||||
qualifier: "theme × shape combinations",
|
||||
@@ -478,7 +478,7 @@ const COPY = {
|
||||
proofLabel: "ON THE BILL",
|
||||
proofA: "21 page-shapes, 50 archetypes",
|
||||
proofB: "Duo-tone drops, hard-offset shadows",
|
||||
proofC: "57-gate slop test, every build",
|
||||
proofC: "58-gate slop test, every build",
|
||||
cta: "See the lineup",
|
||||
stat: "20",
|
||||
qualifier: "THEMES. ZERO TEMPLATES.",
|
||||
@@ -498,7 +498,7 @@ const COPY = {
|
||||
proofLabel: "00 · SPEC",
|
||||
proofA: "21 page-shapes · 50 archetypes",
|
||||
proofB: "lowercase serif · mono labels · no orb",
|
||||
proofC: "57-gate slop test, every emit",
|
||||
proofC: "58-gate slop test, every emit",
|
||||
cta: "read the docs",
|
||||
stat: "20",
|
||||
qualifier: "themes, instrument-grade.",
|
||||
@@ -518,7 +518,7 @@ const COPY = {
|
||||
proofLabel: "What's inside",
|
||||
proofA: "21 page-shapes · 50 archetypes",
|
||||
proofB: "9 heroes · 14 navs · 8 footers",
|
||||
proofC: "57-gate slop test, every build",
|
||||
proofC: "58-gate slop test, every build",
|
||||
cta: "See examples",
|
||||
stat: "20",
|
||||
qualifier: "themes, all alive.",
|
||||
|
||||
@@ -23,9 +23,9 @@ Default model `black-forest-labs/FLUX.1.1-pro` (photoreal, ~$0.04/MP); `--model
|
||||
|
||||
- **Always post-process.** Add grain, asymmetric crop, hand-drawn overlays, colour grading. Raw model output reads as AI 100 % of the time. The post-process is what makes it ours.
|
||||
- **Use reference images** for brand consistency. Nanobanana's character-consistency feature is the differentiator vs. Midjourney; feed it your existing brand assets so generations stay on-style.
|
||||
- **Stamp the model in the macrostructure comment** (`generated: nanobanana-2 · post-processed`). Future audits need to know provenance.
|
||||
- **Stamp the model in the macrostructure comment** (`generated: flux-1.1-pro (via scripts/imagegen.mjs) · post-processed`). Future audits need to know provenance.
|
||||
- **Verify the SynthID watermark** is present (Google's invisible AI-provenance marker).
|
||||
- **Multi-frame animation isn't supported** by any of these models. Don't try to assemble keyframes into a Lottie loop — that's Tier F territory and almost always a worse outcome than a single still.
|
||||
- **Multi-frame animation isn't supported** by any of these models. Don't try to assemble keyframes into a Lottie loop - that's Tier F territory and almost always a worse outcome than a single still.
|
||||
|
||||
### Anti-patterns of generated stills
|
||||
|
||||
|
||||
@@ -104,6 +104,8 @@ Calm / corporate / trust-led routes to Cobalt or Coral; sustained editorial read
|
||||
|
||||
## Build hint
|
||||
|
||||
The palette tokens (`--color-*`) come from `[data-theme="arcade"]`. The starfield / scanline / neon-glow vars below (`--star*`, `--scanline`, `--shadow-cyn`, `--shadow-mag`, `--line-lit`, `--ring`) are **page-local decorative tokens**: define them in your page `:root` as in the canonical build `site/examples/arcade-01/` (gate 48 allows page-defined tokens).
|
||||
|
||||
The first lines of CSS establish Arcade's anchor moves:
|
||||
|
||||
```css
|
||||
|
||||
@@ -101,7 +101,7 @@ Never any of: *seamless, robust, cutting-edge, leverage, synergy, revolutionary,
|
||||
|---|---|
|
||||
| **Cobalt** (light code-hero sibling) | Cobalt is cool near-white paper (`oklch(98.5% 0.004 250)`), electric cobalt (`0.20 256`), Space Grotesk / JetBrains Mono, and a **code/API card** hero. Ledger is dark navy (`oklch(20% 0.025 255)`), teal (`0.12 185`), Hanken / IBM Plex Mono, and an **account-panel** hero. Light-vs-dark and code-vs-money settle it: same cluster, opposite ground, different focal artefact. |
|
||||
| **Midnight** (dark but atmospheric) | Both are dark near hue 250, but Midnight is **atmospheric**: deeper `L 15%`, blue accent (`0.16 220`), Geist + Instrument Serif, `--display-weight 300` with `0.16em` labels, numbered display + typewriter reveals. Ledger is **modern-minimal**: lifted `L 20%` navy, teal 185, Hanken `600`, tabular-mono data panels, flat and still. Mood vs instrument. |
|
||||
| **Coral** (light warm modern-minimal) | Coral is warm-grey paper (`oklch(96.5% 0.005 50)`), warm coral accent (`0.165 28`), Geist, `--radius-pill 999px` soft pills, and a quiet title/lede hero. Ledger is dark navy, teal, `8px` tight radii, and a data-as-hero panel. Opposite temperature and opposite ground. |
|
||||
| **Coral** (light warm modern-minimal) | Coral is warm-grey paper (`oklch(96.5% 0.005 50)`), warm coral accent (`0.165 28`), Geist, `--radius-pill 999px` soft pills, and a quiet title/lede hero. Ledger is dark navy, teal, `12px card / 8px control radii, and a data-as-hero panel. Opposite temperature and opposite ground. |
|
||||
|
||||
## Test brief expectations
|
||||
|
||||
|
||||
Reference in New Issue
Block a user