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:
Youssef
2026-07-24 15:08:01 +01:00
parent 2dc9974414
commit 3968b6264c
6 changed files with 14 additions and 12 deletions
+4 -4
View File
@@ -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}
+1 -1
View File
@@ -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
View File
@@ -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
+1 -1
View File
@@ -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