The comp rules composition; the world rules material. Adds the authority
ranking to new-work.md, rewrite and token discipline to the craft floor,
token and motion evidence checks to the finish reviewer, derived text
inks to the questionnaire seed, and stale-seed disclosure at attended
stops. From the ekihana run's confirmed drift.
Co-authored-by: Cursor <cursoragent@cursor.com>
Name Cursor browser_navigate as the in-IDE viewport, then other in-app tools, then the system opener. Same ladder in serve-question stdout so agents stop using macOS open while the IDE browser works.
AI-assisted.
Co-authored-by: Cursor <cursoragent@cursor.com>
On the questionnaire path, chat now asks only assets, named references, and one anti-reference; color, type, and motion stay in the picker. Interview-only still asks all five. visual-cues.md drops the retired Q-keys and re-anchors font pairs from surfaces, references, and assets.
AI-assisted.
Co-authored-by: Cursor <cursoragent@cursor.com>
CJK and other non-Latin families render the picker's previews and scale sheets wrong until language-aware pairs exist; the fallback deck comment matches the new visual-cues Step 6 rule.
AI-assisted.
Co-authored-by: Cursor <cursoragent@cursor.com>
When new-work reaches world creation and DESIGN.md is missing, pause and
offer /impeccable document --seed (skippable) so the visual world can come
from the user's own choices instead of an assigned roll.
AI-assisted change (Cursor agent), directed by the maintainer.
Co-authored-by: Cursor <cursoragent@cursor.com>
Mirror the screen 02 neutral contrast badge on the strategy strip, share alert
painting between both strips, and render richer PRODUCT.md context in the
design document with matching visual-cues schema guidance.
AI-assisted commit.
Co-authored-by: Cursor <cursoragent@cursor.com>
Screen 03 lets operators compare restrained through drenched strategies on the dual-artboard preview; visual-cues now composes fonts.json before launch, and the picker server exposes it.
Co-authored-by: Cursor <cursoragent@cursor.com>
Post-rebase repairs after main moved 226 commits (site/ split to the
private impeccable-site repo, DESIGN.md spec now eight sections, register
extraction replaced by extractSectionValue, seed mode rewritten):
- document.md: transplant this branch's seed pipeline (assets, interview,
visual cues, picker) onto main's rewritten file; adopt the canonical
section vocabulary. The interplay with new-work's workshop is left for
PR review.
- picker: vendor kinpaku tokens/kit CSS, hero art, and favicon under
picker/ (site/ no longer exists here); drop the sharp resize step and
ship the compressed JPEG directly; declare astro/sharp-free deps.
- picker-server: read the register via extractSectionValue('Register')
since extractRegister is gone from context.mjs.
- palette.mjs / utils.js / test-suites.mjs / package.json / release.mjs:
rebuild as main's version plus this branch's additions, undoing hunks
the -X theirs replay had clobbered.
- craft.md / shape.md: reset to main (this branch's net change was zero).
- progress bar: animate transform instead of width (design hook finding).
Validation: bun run build green (prose validators clean), bun run test
198/198, picker-server suite 7/7.
AI-assisted (agent-implemented, maintainer-directed).
Co-authored-by: Cursor <cursoragent@cursor.com>
gemini-3-pro-image is Google's strongest image model; IMAGE_GEN_MODEL still overrides for the cheaper flash tier.
AI-assisted commit.
Co-authored-by: Cursor <cursoragent@cursor.com>
Ban hex codes from image prompts to stop Nano Banana swatch strips, require crisp deep focus and set-dressed surfaces inside close product-world scenes, and add wordless and real-estate inspection retries. The Gemini wrapper now converts JPEG bytes to PNG and infers AQ.-prefixed keys.
AI-assisted commit.
Co-authored-by: Cursor <cursoragent@cursor.com>
Ship image-gen.mjs with bfl and gemini backends plus custom delegation, document the keyless flow in image-api.md, and tighten seed Step 4 so missing keys ask once and opt-out falls back to text-only seeding. Compile now removes in-folder hero intermediates so each cue keeps one PNG.
AI-assisted commit.
Co-authored-by: Cursor <cursoragent@cursor.com>
Each specialist now generates one hero image instead of a second chroma-key sheet, and the compile step replaces crop with a simpler cues.json shape.
AI-assisted commit.
Co-authored-by: Cursor <cursoragent@cursor.com>
Drop the two-pass matte pipeline in favor of one chroma-key sheet per
cue: each specialist picks the farthest-hue key, stages larger artifacts
with shadowless crisp edges, reports CHROMA in its reply, and crop records
the hex in cues.json for browser keying downstream.
Co-authored-by: Cursor <cursoragent@cursor.com>
Artifact crops now ship with real alpha: each sheet is generated twice
(cream, then black via image edit) and fused by a new difference-matting
command, sidestepping models' inability to emit alpha and the chroma
key's spill. Crop and matte reject non-square inputs so squareness must
come from the generation call's 1:1 parameter, and the hero prompt now
demands bright, generous light so palettes stay sampleable.
Co-authored-by: Cursor <cursoragent@cursor.com>
A live run shipped one hero under three slugs: parallel subagents all
wrote the generation tool's output as a generic hero.png in the shared
project assets folder, then copied and referenced each other's files.
Spawn tasks now require slug-based output filenames, using only the
tool-reported path, a verify-your-own-files check before reporting, and
the parent hashes all heroes before cropping and re-spawns duplicates.
AI-assisted (Cursor agent), directed by abdulwahabone.
Co-authored-by: Cursor <cursoragent@cursor.com>
Live cues rendered the good colors as slivers: the hero prompt asked for
an atmospheric scene with a 60% neutral ground and a small accent. The
skeleton now frames tight on the subject and stages each color as a
large unbroken field (neutral about half, primary a continuous third,
tertiary small but legible), with the rationale in the fill rules.
AI-assisted (Cursor agent), directed by abdulwahabone.
Co-authored-by: Cursor <cursoragent@cursor.com>
Investigation of a live run showed five of six palettes converging on the
brief's deep-teal anchor: territories were scenic but hue-silent, and the
anchor reached every spawn unscoped. Territories now must close on a hue
ground (no two in one family), the anchor is owned by exactly one
territory with everyone else told to leave it, spawn tasks may not be
compressed, and each subagent critiques its palette and concept against
the rules before generating.
AI-assisted (Cursor agent), directed by abdulwahabone.
Co-authored-by: Cursor <cursoragent@cursor.com>
Name the common spawn tools, require all six spawns in a single message,
and call out spawn-await-spawn as the serial-loop failure it is. The
no-subagent fallback now runs all six personas instead of four, so the
user gets six cues on every path.
AI-assisted (Cursor agent), directed by abdulwahabone.
Co-authored-by: Cursor <cursoragent@cursor.com>
Drop the sequential palette chain: the parent carves six visual,
emotional, or strategic territories from the brief, then all six
personas spawn in one parallel batch, each composing inside its own
territory and generating both images in the same task.
AI-assisted (Cursor agent), directed by abdulwahabone.
Co-authored-by: Cursor <cursoragent@cursor.com>
Personas now compose sequentially, each shown the color territories the
earlier personas claimed, replacing the similarity script and peer
critique as the uniqueness mechanism. Generation moves to a parallel wave
of dedicated image-prompt specialists that stage the finished palettes.
AI-assisted (Cursor agent), directed by abdulwahabone.
Co-authored-by: Cursor <cursoragent@cursor.com>
Drop the six-way critique wave from the visual-cues studio: after the
compose wave, the OKLab similarity script loops with revision waves for
flagged personas only (capped at three) until every verdict is clear,
then the generation wave stages the settled palettes.
AI-assisted (Cursor agent), directed by abdulwahabone.
Co-authored-by: Cursor <cursoragent@cursor.com>
Drop the parallel "round" vocabulary from the visual-cues studio so one
counting system covers the three spawn waves; the subagent template calls
the palette a first draft instead.
AI-assisted (Cursor agent), directed by abdulwahabone.
Co-authored-by: Cursor <cursoragent@cursor.com>
Replace the single-mind palette composition in the visual-cues pipeline
with a three-wave studio: six persona specialists compose in parallel, a
new OKLab similarity command plus peer critiques build each persona's
scorecard, then each revises and generates its hero and artifact sheet.
AI-assisted (Cursor agent), directed by abdulwahabone.
Co-authored-by: Cursor <cursoragent@cursor.com>
Document seed mode's palette pick used to ask the user to imagine colors
from words. Add a visual-cues pipeline: compose four-hex palettes from the
brief (mood, references, PRODUCT.md), generate a hero scene plus a cream
artifact sheet per concept, crop the sheet into isolated artifacts, and
write cues.json so the user can pick a direction by eye.
Co-authored-by: Cursor <cursoragent@cursor.com>
A stored IMAGE_GEN_API_KEY in .impeccable/.env now counts as image generation being available for shape probes and the craft codex flow. The key ask itself stays exclusive to document seed mode; shape and craft still never prompt for APIs or tooling.
Co-authored-by: Cursor <cursoragent@cursor.com>
Seed questions now avoid skill vocabulary (mirroring init.md's magazine-editor line), and a new step offers 2-4 generated palette cue images: native image_gen when the harness has it, otherwise an opt-in IMAGE_GEN_API_KEY in gitignored .impeccable/.env.
Co-authored-by: Cursor <cursoragent@cursor.com>
Ask for logos, reference images, and moodboards before the five-question interview so the first DESIGN.md seed can ground taste selections in real visual context.
Co-authored-by: Cursor <cursoragent@cursor.com>
Prefer committed visual goldens when the app cannot run and make assigned-system translation explicit when a pinned register conflicts with literal materials.\n\nAI-assisted: prepared with Codex under @pbakaus direction.
Preserve critique trend history while closing the exact processed snapshot. Track target identity and content freshness for local files and URLs, isolate colliding streams, and prevent legacy snapshots from resurfacing after a modern close.
Validated with 50 focused tests, a clean 17-provider build, 834 core tests, passing GitHub CI and Cursor Bugbot, Greptile 5/5, and zero unresolved review threads.
AI-assisted maintainer repair: implemented and reviewed with Codex under @pbakaus direction.
Store direction contracts in development-only surface briefs and guard against browser-delivered leakage with regression coverage.
AI-assisted merge: reviewed and executed by Codex under maintainer direction.