2RE03-Design/memory-bank/progress.md

269 lines
29 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Progress - 2RE03 Portfolio Site
> What works, what's left, current status, known issues, and decision evolution.
> Last updated: 2026-09-22.
## What Works
- Memory bank initialized in the standard multi-file form.
- Source material surveyed and inventoried (see `reference-materials.md`).
- Six linked pages built: `index`, `case-studies`, `work`, `about`, `services`,
`contact` - plus 10 case study detail pages in `case-studies/`.
- Bootstrap 5.3.3 + Inter/Space Grotesk vendored locally (`css/`, `js/`, `fonts/`).
- 46 images in `img/`, optimised to WebP: 45 `.webp` plus `printtiresad.png`
(project art, client-site screenshots, 10 case-study hero backgrounds, 8 homepage
collage tiles). `img/` is **3.2 MB**, down from 20 MB.
- Web3Forms contact form with required-field + email validation, accessible
labels, and AJAX submit with a live status region.
- Collins-style **Case Studies** feature: a typographic index with
cursor-following hover previews (with a touch/no-JS thumbnail fallback) and
per-project detail pages.
- **6 real client websites** added as case studies - Teach Each Other AI,
Jensen's Red Barn, Mask Aid Project, 1 Woman's Art and Magic, Sam's Rules, and
Victoria Fuller - each with a screenshot and a link to the live site. (Cool Crap
From China lives in the portfolio gallery instead.)
- `work.html` now has **six galleries**, including a new **App Design** category
(Mehavior + the "(10+2) x 5" productivity timer app).
- Verified locally: all pages/assets HTTP 200, HTML tags balance, `js/main.js`
passes `node --check`, no links into `refrence/`.
- **Copy pass 1** (2026-09-22, uncommitted): the homepage closing CTA is now a
four-question invitation ("Have something that needs making?"), `services.html`
has a **Workflow** band telling the old workflow -> AI-assisted workflow ->
finished result story (including the "without turning the result into generic AI
slop" claim), and `work.html` closes with "Got a weird project? Give it to us."
- **Favicon** (2026-09-22, uncommitted): `img/favicon.svg` (a green rounded tile
with the digit `2` as outline paths, so it needs no client font),
`img/favicon.ico` (48/32/16), and `img/apple-touch-icon.png` (180x180, square
and opaque), all declared on the 16 pages with relative paths. Derived from the
site's own wordmark font instanced at `wght=700`.
- **Open Graph / social image** (2026-09-22, uncommitted): `img/og-image.png`
(1200x630), a green dot-grid card with the wordmark, the hero line, the domain,
and a washed strip of six real work tiles. All 16 pages declare the icons, a
canonical URL, the full `og:*` set and `twitter:card`, all absolute against
**https://2re03.com/** (which serves `.html` URLs).
- **Captioned work galleries** (2026-09-22, staged): every one of the 26
`work.html` figures is a `<figure>` with a `.carousel__caption` (piece name +
what 2RE03 did, always visible). The user then corrected six of the captions
and re-filed two pieces, and the section blurbs were re-voiced to match, so the
current state is: the **Urban Moto earplug article** (`writtenearplugs.webp`)
and the **YLEM Journal cover** (`printylemcover.webp`) sit in **Words** (4
items: Sam's Rules, YLEM Journal, Earplug feature, Napwell quick start guide),
**Print** holds 3 items, all print ads (Loren Kincaid, Macchiarini Metalworks,
K.C. Engineering), the **App Design** sub-lines read "Designed and coded" for
(10 + 2) x 5 and "UX and UI" for Mehavior, and each gallery's closing paragraph
now describes only what that gallery shows.
## Current Status
**Stage:** Built, verified, committed, and **published**, and now through a first
**copy pass** (2026-09-22): the homepage closing CTA, a new **Workflow** band on
`services.html`, and the `work.html` hook, all out of the four `Now` briefs in
`memory-bank/todo.md`. On top of that, the work galleries were captioned, those
captions were re-worded to the scope the user confirmed, and the section blurbs
were re-voiced to match, with the earplug article and the YLEM Journal cover
re-filed from Print into Words. That whole batch is **staged** as of 2026-09-22
with its commit message pre-filled, waiting on the user to commit and upload by
hand; the live site is still the previous commit. What remains afterwards is user
sign-off on the copy, the case-study grid captions, a few caption names that were
read off the artwork, the Assets batch, and the Content/Polish items in
`memory-bank/todo.md`.
## What's Left To Build
> The full, current backlog lives in **`memory-bank/todo.md`**; this section keeps only the headline items.
- User review/refinement of copy + visual design.
- Optional real assets: a real 2RE03 logo (the favicon and Open Graph image both
landed on 2026-09-22).
- More/real portfolio items, and captions for the case-study grids (the
`work.html` galleries were captioned on 2026-09-22).
## Known Issues / Risks
- Copy is drafted in company voice and the first pass (2026-09-22: homepage CTA,
services Workflow band, work-page hook) is **not yet signed off** by the user.
- The favicon and the Open Graph image both exist (2026-09-22), and every page
declares the icons plus the full `og:*`/`twitter:*` set against
`https://2re03.com/`. Any real 2RE03 logo still does **not** exist.
- The new assets are **not deployed**: as of 2026-09-22 the live site still returns
404 for `img/favicon.svg`, `img/favicon.ico` and `img/og-image.png`, so social
scrapers will not see the card until the site is next uploaded.
- No IKEHU video is present on this machine, so the possible motion/video section
cannot be built until the file or a URL is supplied.
- Case study hero backgrounds are generated JPEGs; **Urban Moto's is low
resolution** (450px native at its widest).
- Web3Forms posts to an external endpoint with a public access key in
`contact.html`; live submissions depend on that key/account remaining active.
- Galleries reuse the reference image set. The `work.html` galleries carry
per-image captions and matching blurbs as of 2026-09-22, but several of those
names were read off the artwork itself and still need confirming (Argent,
Drinking About..., D.R.I.V.E., 50 Shades of 2048, '78 Williams, `3dabandoned`,
and the unnamed `websinosalescopy` "Sales page"). The case-study grids are not
captioned at all yet: 9 pages hold a single `figure.card-work` beside the copy
and Urban Moto holds a 3-up grid, and `.card-work` has no caption style.
- No flyer, postcard, business card or letterhead artwork exists on this machine
(repo and external backup both checked on 2026-09-22), so those formats are
capability claims on the service cards and cannot appear in a gallery.
- Some case studies use names drawn from the source image filenames with generic
copy; others (the client sites, plus Urban Moto, Cart, and 1 Woman's Art and
Magic) are based on the user's factual notes.
## Evolution of Decisions
- **2026-09-10** - Initialized a single-file memory bank draft.
- **2026-09-10** - Replaced by the standard multi-file memory bank (this folder);
content ported over.
- Tone anchored on `refrence/index.html`; no individual attributions; `refrence/`
marked temporary.
- **2026-09-10** - Locked the stack (static HTML + vendored Bootstrap), styling
(Bootstrap + custom CSS), and brand (2RE03 only, no 2RE Factory), then built the
v0 scaffold.
## Progress Log
- **2026-09-10** - Initialized memory bank. Surveyed `refrence/` (2 HTML files +
23 images), captured project brief, tone, content model, and open questions. No
production files created.
- **2026-09-10** - Built and verified the v0 static scaffold: five pages, vendored
Bootstrap 5.3.3 + Inter/Space Grotesk fonts, `css/style.css`, `js/main.js`, and
the Web3Forms contact form. All pages/assets return HTTP 200 locally.
- **2026-09-10** - Rethemed the site to a green palette centered on `#2ee666`
(crimson/red tokens removed from production CSS/HTML).
- **2026-09-10** - Deleted the superseded draft `.clinerules/memory-bank-oops.md`.
- **2026-09-10** - Added the Case Studies feature (typographic index + 8 detail
pages + hover previews), wired into the nav/footer and the homepage.
- **2026-09-10** - Added 6 real client websites as case studies (5 new detail
pages + linked the existing Sam's Rules study to its live site); captured
screenshots into `img/`. Case-study list is now 13 entries.
- **2026-09-10** - Corrections: renamed the "Kincaid" case study to **Urban Moto**
(print design / art direction for a motorcycle magazine; 4 images:
printtiresad, printkincaidad, printmacchiariniad, writtenearplugs) and removed
the old page; recast **1 Woman's Art and Magic** as a two-book art series for
painter Joanna Signer plus the website to sell it.
- **2026-09-10** - Trimmed the case-study list from 13 to 11: removed **Cool Crap
From China** and **Data Vis Art**, replaced **Coop** with **Cart** (a 3D design
proposal), and kept the work in the portfolio (Cool Crap added to the Web
gallery; Data Vis Art moved to the Logos gallery).
- **2026-09-10** - Corrected **Mehavior**: it was an **app**, not a website - logo,
app interface/button design, and promotional material for an investor pitch.
Category updated to "App Design & Identity".
- **2026-09-10** - `work.html`: added an **App Design** category, moved Mehavior
into it, and added the **"(10+2) x 5"** productivity timer app (screenshot from
timer.2re.me). Section backgrounds re-alternated.
- **2026-09-10** - `work.html`: moved **Web Design** to the top. Order is now
Web Design, Logos, App Design, Print Design, 3D Modeling, Written Work (with
the section-background alternation preserved).
- **2026-09-10** - Renamed the **"Written Work"** category title to **"Editorial"**
everywhere it appears (work page heading, the homepage/services cards, and the
Sam's Rules category label "Editorial & Web").
- **2026-09-10** - Rebuilt the **Selected work** (homepage) and all six **Work**
galleries as Collins-style carousels: a native CSS `scroll-snap` track with
rounded, `object-fit: cover` (cropped) cards, plus `js/carousel.js` for
prev/next buttons, keyboard arrows, and mouse drag-to-scroll (touch swipes
work natively).
- **2026-09-10** - Expanded the **Mask Aid Project** case study: what we did is
now video production, a crowdfunding campaign, copywriting (all the text), and
translation from Chinese.
- **2026-09-10** - `work.html` Web Design gallery: added snapshots of Jensen's
Red Barn and Mask Aid Project. Also re-shot the **"(10+2) x 5"** timer image as
a close-up (composed to fill a 4:3 frame).
- **2026-09-10** - Homepage copy rewrite: dropped the avocado-hipster tagline for
a professional, team-voiced hero; renamed the "What we do" headline to
**"Web Design Is Only the Beginning"**. Tone guidance updated in
`productContext.md`.
- **2026-09-10** - Renamed the **"Editorial"** category to **"Words"** (it also
covers sales copy and technical writing). Updated `work.html` heading/caption,
the homepage + services cards (now mention sales copy), and the Sam's Rules
label ("Words & Web"). Supersedes the earlier "Written Work → Editorial" rename.
- **2026-09-10** - Homepage: moved **Selected work** above **What we do** (and
swapped their section backgrounds so the white/soft alternation still holds).
- **2026-09-10** - Pruned + reordered case studies (now **10**): removed **Argent**;
renamed **Victoria → Victoria Fuller** and **Cart → Upscale Food Cart** (pages
renamed to `victoria-fuller.html` / `upscale-food-cart.html`). New order: Mask Aid
Project, 1 Woman's Art and Magic, Sam's Rules, Mehavior, Jensen's Red Barn,
Upscale Food Cart, Silver Lining, Victoria Fuller, Urban Moto, Teach Each Other AI.
- **2026-09-10** - Enriched five case studies from the user's notes:
**Sam's Rules** (+ illustrations, downloadable companion content);
**Jensen's Red Barn** (Grandma Dorothy's scrapbook brought online as a slideshow);
**Silver Lining** (the mark helped bring clients to a high-end retreat);
**Victoria Fuller** (a Playboy Bunny - the only one with rights to the Playboy logo);
**Urban Moto** (guest articles; managed photography/editorial/ad submissions;
designed custom ads for clients).
- **2026-09-10** - **Jensen's Red Barn**: added "Social media setup", removed the
"Contact section" bullet. **Sam's Rules** category changed from "Words & Web" to
**"Book Design & Web"** (both lists + detail page).
- **2026-09-10** - `work.html`: moved `web50shadesof2048.png` from **Web Design**
into **App Design** (Web Design now 5 items, App Design 3).
- **2026-09-10** - `work.html` App Design: replaced `site-timer-app.jpg` with
**`2plus5times3.jpg`**, cropped from 398×820 to a centred 4:3 (398×298) so it
fills the card. (`site-timer-app.jpg` is now unused.)
- **2026-09-10** - Added the web **backend services** to the offering: web hosting
setup/management, site management & maintenance, and domain/URL sourcing. Covered
in `services.html` (new paragraph + 3 "What's included" bullets) and the homepage
Web Design card.
- **2026-09-10** - Removed **all em dashes** from the site copy (they read as
AI-generated): rewrote ~95 instances across the HTML plus CSS/JS comments and the
contact-form success message, using commas, colons, and parentheses. Page titles
now use " | ". Cleaned the memory bank too. (Vendored `bootstrap.min.css` left
untouched.)
- **2026-09-10** - Contact form: made **Subject optional** (dropped `required` and
its asterisk; the label now reads "Subject (optional)"). Required fields are now
Name, Email, and Message.
- **2026-09-10** - Hero rework (dropped the portrait): the global `.hero` now uses
the green gradient plus a faint dot grid (no photo), and the homepage adds a
low-contrast **work collage** (`.hero--collage`) of eight thumbnails
(`img/collage-1..8.jpg`, generated at 480x360, ~178KB total). `blue_eyes_Torrey.png`
is now unreferenced in production (still used by `refrence/index.html`).
- **2026-09-10** - Each **case study hero** now uses that project's own image as its
background: `.hero--image` (green overlay, heavier on the left for legibility)
with the image set per page via an inline `--hero-image` custom property. Hero
backgrounds generated as optimised JPEGs (`img/hero-<slug>.jpg`, max 1600px);
the transparent logos (Sam's Rules, Silver Lining, Victoria Fuller) were
composited onto brand green.
- **2026-09-10** - Case study hero tweaks: `.hero--image` gained a `--hero-position`
variable. **Mehavior** shows the top of its image (the logo) via `center top`;
**Victoria Fuller** sits at `center 10%` to show the cursive name near the top;
**Jensen's Red Barn** switched to the wide `red-barn-photo.jpg` panorama;
**Urban Moto** now uses the **middle** band of `printtiresad.png`.
- **2026-09-10** - Case study images no longer letterbox: `.card-work` now lets the
image define its own frame (`width: 100%; height: auto`, no fixed 4:3 box and no
light-green panel), so there is no space above or below. Added
`.card-work--frame` (4:3 + `object-fit: cover`) for Urban Moto's mixed-shape
grid. Feature-image `width`/`height` attributes corrected to real dimensions to
avoid layout shift.
- **2026-09-10** - Repo cleanup before the first commit: removed the temporary
`refrence/` source folder (19.4 MB) and four superseded images no longer
referenced by any page (`blue_eyes_Torrey.png`; `red-barn-photo.jpg`, which was
the source for `hero-jensens-red-barn.jpg`; plus `site-sams-rules.jpg` and
`site-timer-app.jpg`). All five were **moved** to
`/home/torrey/2RE03-unused-assets-backup/` rather than hard-deleted. Added a
minimal `.gitignore` (OS/editor cruft only); `css/`, `js/` and `fonts/` had no
orphans.
- **2026-09-10** - Version control: `git init` on branch `main`, then the first
commit (**79 files**, no `refrence/`). Remote `origin` is
`ssh://git@git.2re.top:22222/2re/2RE03-Design.git` (Forgejo, SSH key
`id_ed25519`).
- **2026-09-10** - Added **`TODO.md`** at the repo root as the single human-facing
backlog; the memory bank keeps only current priorities and points at it. The
**site was published** by the user, and `memory-bank/` + `.clinerules/` were
confirmed to stay tracked.
- **2026-09-10** - **Optimised every image to WebP**: 45 files converted (long side
capped at 1600px, `-q 82`, or `-q 90 -alpha_q 100` when transparent) and 97
references repointed across 13 HTML files. `img/` went **20 MB -> 3.2 MB**. The
one exception is `printtiresad.png`, kept as PNG because WebP made it bigger.
Verified: 0 missing references, 0 unreferenced files, all 45 WebP files decode,
all pages 200, and the before/after ratio-hint sets are byte-identical.
- **2026-09-10** - User set a **working agreement**: no `git commit` or `git push`
without explicit approval. Recorded in `activeContext.md` (Working Agreements at
the top, plus the decisions log) and `techContext.md` (Tool Usage Patterns).
- **2026-09-22** - User set a second **working agreement**: **do not edit files
outside the project folder** (`/home/torrey/Documents/Sites/2RE03`). Recorded in
`activeContext.md` (Working Agreements at the top, Recent Changes, and the
decisions log), `projectbrief.md` (Ways of Working rule 8), `techContext.md` (Tool
Usage Patterns), and here. No production files changed.
- **2026-09-22** - **Captions re-worded to the user's read-through, and two pieces re-filed into Words.** The user checked the new `work.html` captions against the archive and corrected the scope on six of them, all of which were worded as though the piece were only a picture: **Back That Ass Up** is the identity for a **political campaign art show** (hence the US-flag mark; the sub-line now says "Political art show" and the alt names the campaign), **Mehavior** was **UX and UI**, and **(10+2) x 5** was **designed and coded** end to end rather than merely drawn. The three ads - Loren Kincaid, Macchiarini Metalworks, K.C. Engineering - were normalised to **"Print ad"** (the last had read "Tire advert"), and **Sam's Rules of Money** became "Book editing and illustrations", which the old "Book cover" hid because the user edited the book *and* its illustrations. Two further pieces moved from **Print** to **Words**, applying the rule that a piece is filed under the category of its deliverable rather than of the paper it landed on: `writtenearplugs.webp` is captioned "Article, Urban Moto, February 2007" and `printylemcover.webp` "Editing and cover design", since the user edited the whole magazine including the cover. Print now holds 3 items, all print ads; Words holds 4, ordered book, magazine, article, guide. A grep confirmed nothing outside `work.html` referenced either moved file, so the two galleries were the only edits. Verified: 26 figures over 26 distinct images with one caption each and no duplicates, exactly two references to the moved files (both now in Words), tags balance and every reference resolves across all 16 pages, no em dashes, and - instead of eyeballing the arrows - the carousels were **measured** in a headless Chrome eval: `Print design gallery` is now `scrollWidth == clientWidth` (1116px) with both arrows disabled, exactly like the 3-item `App design gallery`, so shortening a gallery to 3 items leaves no dead control, while `Words gallery` overflows by 292px with only "next" enabled and `Logo design gallery` by 1360px. The Print and Words bands were also screenshot-checked at 1280px and 390px. Build intermediates lived in `.tmp-captions/` inside the repo and were deleted. **Uncommitted.**
- **2026-09-22** - User set a **code and writing style requirement**: **soft wrap**. No hard wrapping to a column limit in code or in memory-bank writing; lines break only at structural boundaries. Applied going forward only, with no reformat pass over existing files (explicit user instruction). Recorded in `activeContext.md` (Recent Changes, Important Patterns & Preferences, decisions log), `projectbrief.md` (Ways of Working rule 9), and `techContext.md` (new Code Style section).
- **2026-09-22** - **Backlog moved into the memory bank:** `TODO.md` at the repo root became **`memory-bank/todo.md`** (lowercase filename), so the backlog now lives alongside the other memory-bank files. Every reference was repointed (`activeContext.md` Recent Changes / Next Steps / decisions log / Important Patterns, `progress.md` Current Status + What's Left To Build, `techContext.md` Deployment + Code Style), and the move was recorded in `todo.md`'s own Done section. No site file referenced `TODO.md`, so the published site is unaffected. The move is **uncommitted** (working tree only).
- **2026-09-22** - **Copy pass 1** (the whole `Now` section of `memory-bank/todo.md`) implemented and verified, then recorded in `todo.md` (items moved to Done) and here. `index.html`: the closing CTA is "Have something that needs making?" plus the three client questions and "Tell us what you're trying to do. We'll figure out what needs to be made.", supported by a one-line `.cta-questions li + li` rule in `css/style.css`. `services.html`: new **Workflow** band between Process and the closing CTA, three cards (Old workflow / AI-assisted workflow / Finished result) with the middle card dark, carrying the AI-acceleration line. `work.html`: the closing band line is now "Got a weird project? Give it to us." The briefs' first-person voice was converted to the studio "we" and no em dashes were introduced. Checks run: tag balance on all touched pages (`html.parser`), em-dash scan, every relative `href`/`src` resolves to an existing file, HTTP 200 across all six root pages plus sampled case-study pages/assets, and headless-Chrome screenshots reviewed at 1280px and 390px for the two new sections. Verification screenshots were written to `/tmp` (outside the repo) and are not part of the project. **Uncommitted; no commit or push.**
- **2026-09-22** - **Favicon added** (first item of the Assets batch). Generated `img/favicon.svg`, `img/favicon.ico` (48/32/16) and `img/apple-touch-icon.png` (180x180), all from the site's own wordmark font: `fonts/SpaceGrotesk-latin.woff2` instanced at `wght=700` with `fontTools.varLib.instancer`, glyph outlines through `SVGPathPen`, rasterized with `rsvg-convert` and ImageMagick. The mark is a `#2ee666` rounded tile with the digit `2` in brand ink, chosen because the full wordmark and even `2RE` stop reading at 16 px. Verified: the ink is centred on the tile within half a pixel, the digit occupies ~56% of the tile and stays legible when rasterized at 16 px, all 16 pages declare the three icons with the right relative prefix, tags balance, every reference resolves, and each asset serves HTTP 200 with the expected MIME type. All build intermediates were kept inside the repo in `.tmp-favicon/` (never `/tmp`) and deleted afterwards, so no writes happened outside the project. Recipe recorded in `techContext.md` -> Icon & Social Assets. **Uncommitted.**
- **2026-09-22** - **Open Graph / social image added, live domain recorded.** Built `img/og-image.png` (1200x630) with PIL to match the site's hero: the 120 degree green gradient, the 18px ink dot grid, the tracked `DESIGN STUDIO` eyebrow, the `2RE03` wordmark, the hero line, `2re03.com`, and a 130px strip of six real work tiles under a green wash. Fonts came from the same sources as the favicon (Space Grotesk instanced at 700, Inter at 500 and 600), and the layout was tuned against measured ink bands rather than by eye. Then added `rel="canonical"`, the full `og:*` set (with `og:image:width`/`height`/`alt`) and `twitter:card` to all 16 pages, reusing each page's own title and description. The user supplied the live URL, **https://2re03.com/**, and probing it showed the host serves `.html` URLs (`/work` 404s, `/work.html` 200s), which is why canonicals use the `.html` form with the bare root for the homepage. Verified: exactly one of each of the 11 tags per page, `og:url` matches each page's canonical, the declared 1200x630 matches the actual file, tags balance, no em dashes, all references resolve, and every page plus the four new assets return HTTP 200 locally. The live site still 404s on the new files because they have not been deployed. Build intermediates lived in `.tmp-og/` inside the repo and were deleted. **Uncommitted.**
- **2026-09-22** - **Work captions, and the earplug move** (the last two Content/Polish items in `todo.md` that needed no new assets). All 26 `work.html` gallery figures became `<figure class="carousel__item">` blocks carrying a `.carousel__caption` (`Name<span>Format</span>`) under the `.carousel__media` frame, styled by two new rules in `css/style.css`: the name in semibold ink, the format on a muted second line, always visible rather than hover-only so it works on touch. `js/carousel.js` measures item width and position only, so the step and snap maths are untouched. The caption copy was written from the artwork itself after reviewing a labelled contact sheet of all 26 images (ImageMagick `montage`), which caught a swap in the source set: `writtenearplugs.webp` is the **Urban Moto earplug feature** (page 39, February 2007, headline "BIG EAR vs PLUGUP - Custom Fit EarPlugs", the written piece that gave the file its name) while `writtenstructions.webp` is the **Napwell quick start guide**. Per the backlog item, `writtenearplugs.webp` moved out of the Urban Moto case-study grid into the **Print** gallery (now 5 items), and that grid went from `row-cols-sm-2` to `row-cols-sm-3` so its three remaining ads sit in one clean row, with their generic alts made specific (K.C. Engineering, Loren Kincaid, Macchiarini). No caption carries an author byline. Verified: tags balance and every reference resolves across all 16 pages, exactly 26 figures over 26 distinct images with one caption each and no duplicates, headless-Chrome screenshots of the Logos, Print and Words galleries at 1280px and 390px plus the Urban Moto grid, and the local server returned 200 throughout. Build intermediates lived in `.tmp-captions/` inside the repo and were deleted. **Uncommitted.**
- **2026-09-22** - **Brief re-read: the two flagged caption strings settled, and `work.html` now matches the brief character for character.** The user re-sent the caption brief with `work.html` attached, which confirmed all seven items were already in place (political art show, UX and UI, designed and coded, three print ads, the earplug article and the YLEM Journal cover already re-filed into **Words**, Sam's Rules as editing plus illustrations) and settled the two strings that had been left open for them: the ads sub-line is written **"Print Ad"** with a capital A - the user's own rendering, kept verbatim, which makes it the page's only title-case sub-line - and the app is written **(10 + 2) x 5** with spaces around the operator. Both were changed in place; nothing else moved, no gallery changed size, and no other page, script, or asset was touched. Re-verified after the edit: 26 figures over 26 distinct images with one caption each and no duplicates, tags balance and every reference resolves across all 16 pages, no em dashes, and the galleries were **measured again** in a headless Chrome eval rather than assumed - `Print design gallery` stays `scrollWidth == clientWidth` with both arrows disabled and `Words gallery` keeps its 292px overflow with only "next" enabled, which is what the CSS predicts: `.carousel__item` is `flex: 0 0 auto; width: clamp(230px, 78vw, 340px)`, so caption copy cannot influence item width, the step, or the snap. **Uncommitted.**
- **2026-09-22** - **Section copy brought in line with the captions, and the last naming questions settled.** The pass that closed the gap the caption revision opened. Four `work.html` blurbs were re-voiced so nothing contradicts the caption above it: the **Words** intro is now "Editorial, documentation, and sales copy: we write it, we edit it, and we lay it out." (the old line claimed only writing, while YLEM Journal and Sam's Rules are editing work), the **App Design** blurb says some pieces were "coded end to end" and the rest "built to look real long before they ship" (the old line implied everything stopped at looking real), the **Print** blurb leads with the ads the gallery actually shows and keeps flyers, postcards, business cards, letterhead and product design as capability rather than as a description of the images, and the **Logos** intro adds ", and the occasional title slide" so the Dat Art slide in that gallery reads as deliberate. The Dat Art caption became **"Presentation for Motion Labs"** with a matching alt, since the image is a title slide and not a mark, and **"a pretzel stand" became "a food cart"** in both `work.html` and `services.html`, matching what the render shows (the cart is labelled *Gourmet Pasteles and Churros*) and the Upscale Food Cart case study. Three questions were settled by the user in the same exchange: **YLEM stays in both galleries**, the **`2plus5times3.webp` file name stays as-is** with the caption `(10 + 2) x 5` treated as authoritative, and the **Dat Art** piece stays in Logos. Verified: all seven new strings render and all five replaced strings are gone from both files, 26 figures over 26 distinct images with one caption each, tags balance and every reference resolves across all 16 pages, no em dashes, galleries re-measured in headless Chrome (unchanged: Print and App Design `overflow=0` with both arrows disabled, Words 292px with only "next" enabled) and screenshot-checked at 1280px and 390px for the Logos, Print and Words bands. The external asset backup was also inventoried, which established that **no flyer, postcard, business card or letterhead artwork exists anywhere on this machine**. The working tree was then **staged** with this batch's message pre-filled into `.git/COMMIT_EDITMSG`, awaiting the user's own commit; nothing was committed or pushed.