Brief A — Prompt Composer (executed under Prompt 01, single-agent)
Success predicate written first, per the brief-template's ordering rule.
TASK (goal)
Ship one self-contained interactive page at runs/composer.html that,
in a browser, assembles a complete ARC(E)-structured marketing
prompt from user inputs and emits it as copyable text — such that
an automated browser check can fill the form, click Assemble, and
find every assembled section (ROLE, ACTION, CONTEXT, EXPECTATION)
plus optional brand-voice and quality-check blocks present in the
output.
OBLIGATION (exact)
The page must: offer all 13 library sections as task categories;
offer a role picker seeded with roles used by the library
("Act as a ..." lines); accept free-text objective, audience,
specifics and length; include toggles for (a) brand voice block,
(b) quality-check append, (c) long-horizon persistence block with
its paired verification gate; render the assembled prompt live;
and provide a Copy button that writes the prompt to the clipboard.
NOT ALLOWED TO:
- modify any existing site page, asset, or markdown source
- add any dependency that does not ship inside the single file
(no CDNs, no fonts, no external JS)
- touch files outside prompts-site/runs/, prompts-site/build-site.sh
(build wiring only), and this brief
Assume a complete solution exists and is reachable with the tools
available to you.
DOES NOT COUNT
- a page that renders but whose Assemble output omits any
assembled section (the automated check must find them all)
- inline JS that fails `node --check`
- an HTML document whose tags do not balance under a strict parse
- a plan to build the composer, or a description of its UI
- wiring the page into the build while the build fails
- reporting the browser behavioral check without having run it in
a real browser session and read its actual output
- silently reducing the category list below 13, the toggles below
3, or dropping the Copy button
DEFINITION OF DONE (each backed by a command result in this session)
1. `node --check` on the extracted inline JS returns 0
2. strict HTML parse (python html.parser, tag balance) exits 0
3. `./build-site.sh` exits 0 and reports page count >= 16
4. deployed: `curl` of https://prompts.mikee.pro/runs/composer.html
returns 200 with size > 10000 bytes
5. behavioral check in a real browser: form filled, Assemble
clicked, output contains all 4 ARC(E) sections, at least one
selected role string, and the QA text when its toggle is on
6. every numbered plan item marked done by number ("N of M done")
EFFORT
Attempt at least three distinct approaches before reporting any
check as blocked; state what each attempt returned.