diff --git a/docs/design-context-categorization/PROVENANCE.md b/docs/design-context-categorization/PROVENANCE.md
deleted file mode 100644
index 44b0377f6..000000000
--- a/docs/design-context-categorization/PROVENANCE.md
+++ /dev/null
@@ -1,76 +0,0 @@
-# Provenance: Derived vs. Questionnaire-Answered Fields
-
-A requirement surfaced from the "Upgrading `/impeccable init`" landscape doc: the new visual document seed (chat asset/reference upload + local-browser slides for Color, Typography, Motion, Layout, Elevation, Iconography) must be **resettable**. A user can go back and redo one slide (e.g. Iconography) or the whole seed, without disturbing fields that came from somewhere else.
-
-Everything that isn't scanned off code is a **questionnaire answer** in the broad sense — nothing in `PRODUCT.md` or `DESIGN.md` is invented by the agent unprompted. But "questionnaire" isn't one thing: it happens through different commands and different UIs (chat vs. a local-browser slide). "Planned" vs. "already shipped" is a maturity detail on the specific field (called out in that field's `Value`/`Derived from` columns in `CONTENTS-TABLE.md`, now in working notes), not a different provenance category — the new seed flow's chat portion is more of the same `init.md`/`document.md`-style chat interview, just under `document.md`; its browser portion is more of the same card-UI pattern the Layout-strictness slide already uses today. So provenance is four tags, not seven:
-
-- **Derived** — read directly off existing code (scanned CSS tokens, component classes). Changing it means re-scanning, not re-asking.
-- **Questionnaire — In-chat (init)** — `PRODUCT.md` fields, asked in chat during `/impeccable init`'s Step 3. Today's mechanism for every non-Derived `PRODUCT.md` field (Users, Purpose, Positioning, Brand Personality, Anti-references, Conversion & proof, Design Principles, Accessibility). Free-form, not persisted for reset.
-- **Questionnaire — In-chat (document)** — `DESIGN.md` fields asked in chat during `document.md`. Covers both today's qualitative round (North Star name, color role names/strategy, elevation/component feel, signature-component ideas) and the new seed flow's chat portion (asset/logo/moodboard upload, three named references, one named anti-reference, the image-gen capability check). Free-form, not persisted for reset — except where the new seed work adds persistence (see below).
-- **Questionnaire — Browser (document)** — `DESIGN.md` fields asked through a visual card UI during `document.md`. Covers both today's shipped Layout-strictness slide (Simple grid / Balanced / Editorial / Freeform) and the new seed flow's browser slides (Color amount, Visual cues, Palette tokens, Typography, Motion, Layout, Elevation, Iconography).
-- **Computed** — generated by the agent from other values (tonal ramps, breakpoints, HTML/CSS snippets). Never directly asked at all.
-
-The persisted/resettable mechanism below is in scope only for the **new, not-yet-shipped fields** within `Browser (document)` and `In-chat (document)` — i.e. the fields `CONTENTS-TABLE.md` marks `(planned)`. The fields already shipped under those same two tags (today's qualitative round, today's Layout-strictness slide) aren't persisted and stay that way unless retrofitted — see `MISSING.md` (working notes) and open question #1 below.
-
-## Where it's stored
-
-In `design.json`, not inline in `DESIGN.md`. `DESIGN.md` stays a clean, human-readable artifact; `design.json` is already the structured sidecar other tooling reads (`colorMeta`, `typographyMeta`, `shadows`, `motion`, `breakpoints`, `components`, `narrative`), so provenance belongs next to it, not as HTML comments scattered through the markdown.
-
-## Proposed schema addition
-
-Two changes to `design.json`:
-
-**1. A `source` tag on existing per-field metadata**, so a value's provenance travels with it:
-
-```json
-"extensions": {
- "colorMeta": {
- "dusty-plum": {
- "role": "primary",
- "source": "crawl"
- }
- },
- "typographyMeta": {
- "display": {
- "source": "questionnaire"
- }
- }
-}
-```
-
-Values: `"crawl"`, `"chat-init"`, `"chat-document"`, `"browser-document"`, `"computed"`. A field's `(planned)` status (i.e. whether it's part of the new, not-yet-shipped seed work) is tracked by whether it has a `questionnaire.sections` entry at all, not by a separate source value — see the block below.
-
-**2. A top-level `questionnaire` block** — the actual answer log, keyed by slide/section, needed for reset at either granularity:
-
-```json
-"questionnaire": {
- "version": 1,
- "lastRunAt": "2026-07-09T22:40:00.000Z",
- "sections": {
- "assets": { "status": "answered", "answeredAt": "...", "answers": { "logos": [], "referenceImages": [], "moodboards": [] }, "producedPaths": [] },
- "references": { "status": "answered", "answeredAt": "...", "answers": { "named": ["Kinfolk", "Cereal"] }, "producedPaths": ["narrative.overview"] },
- "antiReference": { "status": "answered", "answeredAt": "...", "answers": { "named": "Squarespace wedding-florist template" }, "producedPaths": ["narrative.donts"] },
- "color": { "status": "answered", "answeredAt": "...", "answers": { "amount": "restrained", "visualCue": "...", "paletteTokens": {"...": "..."} }, "producedPaths": ["extensions.colorMeta"] },
- "typography": { "status": "answered", "answeredAt": "...", "answers": { "fontPair": "Shippori Mincho / Source Sans 3", "typeDirection": "editorial" }, "producedPaths": ["extensions.typographyMeta"] },
- "motion": { "status": "answered", "answeredAt": "...", "answers": { "easing": "ease-standard", "duration": "150ms", "animationType": "crossfade" }, "producedPaths": ["extensions.motion"] },
- "layout": { "status": "answered", "answeredAt": "...", "answers": { "radii": "square", "spacingStrategy": "fluid", "boundaryStyle": "position/distance" }, "producedPaths": ["rounded", "spacing"] },
- "elevation": { "status": "answered", "answeredAt": "...", "answers": { "shadowSystem": "flat-by-doctrine" }, "producedPaths": ["extensions.shadows"] },
- "iconography": { "status": "answered", "answeredAt": "...", "answers": { "pack": "Lucide" }, "producedPaths": ["extensions.iconography"] }
- }
-}
-```
-
-`producedPaths` is what makes reset safe: it tells the reset routine exactly which `design.json`/`DESIGN.md` fields that section's answer wrote to, so redoing one slide only touches those paths and leaves everything else (crawl-derived or answered in a different slide) untouched.
-
-## Reset, both granularities
-
-- **Whole-flow reset**: clear all `questionnaire.sections`, re-run the seed from the assets/references chat step through every browser slide, same as a first-time seed.
-- **Per-section reset**: user says "redo iconography" (or picks it from a menu). Agent reads `questionnaire.sections.iconography.answers` to show what was previously picked, lets the user redo just that slide, and overwrites only `producedPaths` for that section — no re-scan, no touching Color/Typography/etc.
-- **Fields with `source: "crawl"`**: not resettable through this mechanism at all. Changing them means re-running `/impeccable document`'s scan (Step 1-2), or a manual code edit. The questionnaire reset flow should refuse to "reset" a crawl-derived field and say so.
-
-## Open questions
-
-1. **Scope**: this spec covers the new, not-yet-shipped fields within `In-chat (document)` and `Browser (document)` only. Should the fields already shipped under those same two tags (today's qualitative round, today's Layout-strictness slide), plus all of `In-chat (init)`, get the same persisted/resettable treatment eventually, so *all* of `PRODUCT.md`/`DESIGN.md` becomes resettable, not just the new seed's slice? That's a bigger lift — it touches `init.md`'s chat rounds too, and it would mean retrofitting a `questionnaire.sections` entry for flows that already shipped without one.
-2. **Drift after manual edits**: if a user hand-edits a questionnaire-sourced value directly in `DESIGN.md` after the seed ran, does `source` flip to a fourth state (`"manual"`), or does the stale `questionnaire.sections` entry silently go out of sync with the doc? Needs a decision before reset ships, or resets could clobber a deliberate manual change.
-3. **Existing repos with `design.json` but no `questionnaire` block** (every file generated before this ships): reset should degrade gracefully — treat missing `questionnaire` as "nothing resettable yet, only a fresh full seed is available" rather than erroring.
-4. **`producedPaths` granularity**: paths above are section-level (e.g. `extensions.colorMeta`). If two slides ever write into the same object (unlikely given the current slide breakdown, but worth checking against the final slide list), path-level conflicts need a tie-break rule.
diff --git a/docs/design-context-categorization/README.md b/docs/design-context-categorization/README.md
deleted file mode 100644
index a5bb02439..000000000
--- a/docs/design-context-categorization/README.md
+++ /dev/null
@@ -1,10 +0,0 @@
-# Design Context Categorization
-
-Analysis of what `/impeccable init` + `/impeccable document` currently produce (`PRODUCT.md`, `DESIGN.md`, `.impeccable/design.json`) against a proposed 8-category **design context doc**: Audience, Product, Brand, Color, Typography, Iconography, Material, Interface.
-
-## Documents
-
-- [`design-context.html`](./design-context.html): the standalone prototype the shipped `picker/scripts/design-context.js` and `picker/styles/design-context.css` were ported from.
-- [`PROVENANCE.md`](./PROVENANCE.md): how the visual document seed marks which fields are user-answered (resettable) vs. derived from code, and where that's stored.
-
-The deeper analysis behind this set (category mapping, gaps, orphaned fields) lived in local working notes and is not tracked in this repo.
diff --git a/docs/design-context-categorization/design-context.html b/docs/design-context-categorization/design-context.html
deleted file mode 100644
index f2616ed71..000000000
--- a/docs/design-context-categorization/design-context.html
+++ /dev/null
@@ -1,2447 +0,0 @@
-
-
-
Who it is for, emotional state, needs, trust triggers.
-
-
-
- Who they are
-
-
-
Primary (next 6 months)
-
Wedding planners sourcing ceremony florals for discerning clients. They arrive with a brief already formed and need proof of craft, a clear seasonal point of view, and a fast path to book a consultation before their client meeting.
-
-
-
Secondary
-
Couples commissioning ceremony florals directly; corporate hospitality teams and office managers evaluating gifting or subscription programs.
-
-
-
-
-
- Emotional state
-
-
Quiet authority
-
All commissioners arrive with intent, not casual browsing. The landing experience should read as calm proof of craft rather than persuasion: one hero arrangement per viewport, copy that doesn't oversell.
-
-
-
-
- Needs
-
-
Proof of craft before they will put the atelier in front of a client.
-
A clear seasonal point of view that distinguishes the atelier from directory florists.
-
A fast path to book a consultation, often before their own client meeting.
-
-
-
-
- Trust triggers
-
-
Partner quotes from planners and past commissions.
-
Seasonal POV expressed as a disciplined editorial stance, not a portfolio dump.
-
Studio story that establishes the Tokyo atelier credential in person-referral conversations.
Purpose, differentiator, proof points, use cases, what must be clear first.
-
-
-
- Purpose
-
-
Hanazono Atelier register: brand
-
Marketing site for a boutique Tokyo flower atelier. Communicate craft, seasonal restraint, and three commission lanes. The visual experience sells the atelier.
-
-
-
-
- Conversion
-
-
-
Primary conversion
-
Book a consultation. The booking path stays obvious without urgency gimmicks, price grids, or package upsell scaffolding.
-
-
-
Success definition
-
8–12 qualified consultation requests per month from planners and corporate buyers combined; at least half convert to a paid commission within 90 days. Brand credibility for in-person referrals matters as much as direct bookings.
-
-
-
What must be clear first
-
Proof before pitch: planners need credible signals (partner quotes, seasonal POV, studio story) before they will book.
-
-
-
-
-
- Use cases
-
-
-
Weddings
-
Ceremony florals commissioned through planners or directly by couples; the flagship lane.
-
-
-
Corporate gifting
-
Hospitality teams and office managers commissioning seasonal gifting programs.
-
-
-
Subscriptions
-
Recurring arrangements for offices and hospitality spaces, evaluated by the same corporate buyers.
A commission-first visual system that treats each page like a museum craft gallery: one object per viewport, bilingual hierarchy, specimen metadata in mono, and captions that never compete with the work. Warm mechanical opinion shows up as disciplined spacing and label codes, not decoration.
-
-
-
-
- Personality & voice
-
- Warm
- Mechanical
- Opinionated
-
-
Seasonal craft with editorial restraint. Tokyo atelier, not Pinterest floristry.
-
-
-
- References (specific steals)
-
-
-
Studio Mondine
-
Commission-gallery pacing: one hero arrangement per viewport, no thumbnail clutter.
-
-
-
Aesop
-
Product-page restraint: generous whitespace, one focal image, copy that doesn't oversell.
-
-
-
Ikenobo Tokyo exhibitions
-
Seasonal asymmetry and disciplined negative space; not Instagram-perfect symmetry.
-
-
-
-
-
- Anti-references
-
-
The Knot / WeddingWire directory style: stock rose photos, price tables, “packages from $X” grids.
-
Canva wedding mood-board aesthetic: blush-to-gold gradients, script fonts on every heading, floating petal PNG overlays.
-
Squarespace “Flora” theme family: identical three-column service cards with leaf icons.
-
Pinterest-pastel monoculture: identical card grids with icon + heading + blurb; italic display serif + mono labels on every section.
-
-
-
-
- Design principles
-
-
One focal point per viewport — gallery pacing over thumbnail clutter; let a single arrangement or proof moment carry the screen.
-
Restraint is the sell — generous whitespace, copy that doesn't oversell; Aesop-level discipline on every lane page.
-
Seasonal asymmetry, not Instagram symmetry — compose like an exhibition, not a mood board; negative space is part of the craft.
-
Proof before pitch — planners need credible signals before they will book.
-
Earn the consultation — make the booking path obvious without urgency gimmicks.
From the colors: frontmatter of DESIGN.md. Hover to fan; click to copy the hex.
-
-
-
- Roles
-
-
-
Muted Plum #8b4a6b
-
CTA fills, primary links, consultation path emphasis. Must pass 4.5:1 on cream for labels; darker hover state required.
-
-
-
Deep Umber Ink #2a2118
-
Headlines, primary body text, filled primary button ground. The authoritative voice, not pure black.
-
-
-
Seasonal Moss
-
Lane labels, season codes, commission metadata accents. Marks the seasonal point of view without becoming a second CTA color. Exact token to be resolved during implementation.
-
-
-
Warm Cream Ground #faf6f0
-
Page background, exhibition hall surface. Not Pinterest-pastel; a true warm ground with controlled chroma.
-
-
-
Caption Charcoal
-
Figcaptions, secondary metadata, mono label text. Subordinate to umber ink; never competes with display headlines.
-
-
-
-
-
- Named rules
-
-
The No-Wash Rule
-
Backgrounds stay flat cream or tonal ink fills. Gradient washes, blush-to-gold transitions, and floating PNG petal overlays are prohibited.
-
-
-
The Accent Rarity Rule
-
Plum is for conversion and proof-path emphasis, not eyebrow decoration on every section. Moss is for seasonal lane identity, not a second hero accent.
Font families, hierarchy, font scale, readability rules.
-
-
-
- Type sample
-
-
花園アトリエ — seasonal craft, quiet authority.
-
Shippori Mincho carries the display voice: editorial warmth and Japanese headline authority, never faux-bolded. Source Sans 3 carries English body clarity at sixteen pixels and above, with captions that defer to the object.
Zero iconography mentions in PRODUCT.md, DESIGN.md, or the design.json sidecar for this project. Closest adjacent decision is a taste boundary, not an icon rule: no decorative floral motifs in UI chrome.
-
-
-
-
- Planned (visual document seed)
-
The upcoming seed flow asks the icon-library question directly, with named options:
-
- Lucide
- Tabler Icons
- Hugeicons
-
-
Library choice covers icon style only; stroke weight, metaphor rules, and icon-button behavior remain open fields.
Flat by default. Depth comes from tonal layering: cream ground, umber ink hierarchy, hairline rules at 8–12% opacity. Shadows are not part of the vocabulary; section separation uses spacing rhythm and 1px rules, not cards with drop shadows.
-
-
-
-
- Motion feel
-
-
Responsive motion only: hover and focus feedback; no scroll choreography, no auto-playing reveals.
-
Subtle opacity shifts on hover/focus; no lift-and-glow card elevation.
-
prefers-reduced-motion collapses transitions to instant state changes.