Skip to content

docs: show a commerce screen, not just dashboards - #210

Merged
vicmaster merged 2 commits into
masterfrom
docs-commerce-example
Sep 3, 2026
Merged

docs: show a commerce screen, not just dashboards#210
vicmaster merged 2 commits into
masterfrom
docs-commerce-example

Conversation

@vicmaster

Copy link
Copy Markdown
Owner

The v2.1.0 headline is commerce fluency, and every screenshot in the README was a dashboard. This adds a checkout to the "What an agent actually ships" section.

It was built against the published 2.1.0 package, not the working tree — the MCP server runs npx -y framesmith, so this demonstrates what someone installing framesmith today actually gets, rather than what is on master.

How it was built

One generate_design_system call (#A24B1E on the soft personality) for the whole design language, the settings page scaffold adapted into a two-column checkout, a stamped form-field, and real radio / checkbox / input controls rather than frames pretending to be them. Stamped with the new commerce genre, which is the point: the evaluator reads the line prices and the total as the design instead of as fabricated data.

It cleared the same bar as the two dashboards above it — 100/100, zero blocking issues, canvas_stress CLEAN across all five perturbations, correct in both themes — plus designed empty-basket and loading states, which the coverage check demanded before it would call the screen done.

Three things the build surfaced

These are findings, not blockers for this pull request, and none of them are fixed here.

apply_structure silently wipes a genre stamp. I called canvas_set_genre with commerce first, then stamped the page scaffold. Stamping records provenance and overwrote the whole provenance object, so the genre went with it — the next evaluation reported genre.active: null and flagged all six money figures as fabricated. Re-stamping afterwards fixed it and reported previous: null, confirming the stamp was gone rather than replaced. Stamping should merge into provenance instead of replacing it, or apply_structure should preserve an existing preset.

export has no fullPage. Slice E of Phase 29 added fullPage to screenshot but not to export, so exporting a design taller than its artboard still needs the height passed by hand. The two tools should agree.

The eyebrow-rhythm tell counts form-field labels. It fires on text at or below the label role size that is uppercase or letter-spaced — and the soft personality's label role carries letterSpacing: 0.25, so every small label in the design inherited eyebrow tracking and eleven ordinary form labels were counted as eyebrows. Setting the canvas's label role to letterSpacing: 0 fixed it and is the right call for a form-heavy screen anyway, but the tell probably should not count a label that sits directly above an input.

What is and is not committed

Only the image and the README change. The canvases stay local, matching how .framesmith/ui/ has always been treated — just the curated pattern library and design system are checked in, so a new user still starts with an empty store.

The v2.1.0 headline is commerce fluency, and every screenshot in the README
was a dashboard. Adds a checkout to the "What an agent actually ships"
section, built end to end against the published 2.1.0 package rather than the
working tree — so it demonstrates what a user installing framesmith today
actually gets.
One generate_design_system call (#A24B1E on the "soft" personality), the
settings page scaffold adapted into a two-column checkout, a stamped
form-field, and real radio/checkbox/input controls. Stamped with the new
commerce genre so the line prices and total read as the design rather than as
fabricated data.
It cleared the same bar as the two dashboards above it: 100/100, zero blocking
issues, canvas_stress CLEAN across all five perturbations, and correct in both
themes — plus designed empty-basket and loading states, which the coverage
check required before it would call the screen done.
The canvases themselves stay local, matching how .framesmith/ui/ has always
been treated: only the curated pattern library and design system are checked
in, so a new user still starts with an empty store.
The discoverability guard requires any passage that offers one honest-content
genre to offer all of them, so a reader learns the full set rather than half
of it. The caption named `commerce` while "dashboard" appeared only as prose,
which the guard correctly did not count as naming the genre.
Rewritten to name `dashboard` as the transactional counterpart, which is more
useful to a reader than the original phrasing was.
@vicmaster
vicmaster merged commit 593d904 into masterSep 3, 2026
3 checks passed
@vicmaster
vicmaster deleted the docs-commerce-example branch September 3, 2026 14:16
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@vicmaster