---
title: Killed the last three metaphor fields in the frontmatter schema
description: Renamed the three surviving metaphor fields — wing→section, affectTone→mood, exhibit→homeSlot — across 143 MDX files and the whole schema layer. A codemod did the migration in one pass.
section: meta
tags: [meta, changelog, schema, frontmatter, rename, codemod, breaking]
genre: index
lastUpdated: 2026-04-23
url: https://fardiniqbal.com/docs/changelog/2026-04-23-renamed-wing-affecttone-exhibit
---


The first schema purity pass killed the legacy jargon — `domain`, `growthStage`, `private-draft`, `highlight`. It left the metaphors standing because they still half-worked. `wing` was a garden/building thing. `affectTone` was borrowed from psychology. `exhibit` came from the museum language I used when the homepage was a gallery of cards. All three of them made new contributors (and me, six months from now) stop and translate.

I renamed them to what they actually mean. `wing` → `section` — the field names the top-level section of the site, nothing more. `affectTone` → `mood` — same concept, word everyone already uses. `exhibit` → `homeSlot` — it names a slot on the homepage, so say that. `scripts/codemod-rename-fields.ts` walked all 143 MDX files and rewrote the frontmatter in one pass; `docs-schema.ts`, `draft-lifecycle.ts`, `page-markdown.ts`, the draft schema, and the frontmatter e2e spec followed. Biome, tsc, `next build` green. The schema still says what it said before — it just stopped making you learn a vocabulary to read it.
