feat(call2): short/long desc structure in seed (not brand voice)
Call 2 seed now requires benefit-first short + four-part long HTML, returned as JSON. POST parses and persists both fields; Create-desc gate no longer requires short (Call 2 writes it). Brand voice/geo stay Settings-injected.
This commit is contained in:
@@ -96,9 +96,14 @@ No provider thread id is used, and Call 1's raw prompt and result are not sent (
|
||||
fact block (`METADATA-65`).
|
||||
- The dimension-overlay image is never sent (`METADATA-95`).
|
||||
|
||||
**Output.** The long `description` prose. The server assembles `name` and `short_description`
|
||||
(`METADATA-55`, `METADATA-80`). The primary wood category selects the specialized prompt
|
||||
(`METADATA-85`). The owner can edit the result (`REVIEW-40`).
|
||||
**Output.** Call 2 writes **both** `short_description` (plain text, ~50 words) and
|
||||
`description` (HTML). The seed carries short/long writing structure (benefit→diff→trust short;
|
||||
Hook→Benefits→Specs→Trust long) and requires a JSON object
|
||||
`{"short_description":"...","description":"..."}`. Brand voice and geo stay Settings-injected
|
||||
at assemble time — not hardcoded in the seed. The server still assembles `name`
|
||||
deterministically (`METADATA-55`, `METADATA-80`); short may also be owner-edited or rebuilt via
|
||||
Create short desc. The primary wood category selects the specialized prompt (`METADATA-85`).
|
||||
The owner can edit the result (`REVIEW-40`).
|
||||
|
||||
## 5. Fallback and templates
|
||||
|
||||
@@ -161,10 +166,40 @@ Return one JSON object with exactly these keys:
|
||||
|
||||
Runtime appends `LISTS:` (JSON of the five closed lists) plus SKU/length/thickness and the photos.
|
||||
|
||||
**`call2` seed.** Write the long product description for the slab from the supplied photos and
|
||||
listing facts. The name and short description are already built, so do not repeat them. Use the
|
||||
brand voice and geo context given. The dimensions in the fact block are exact: use those strings
|
||||
and invent no numbers. Write prose a premium lumber buyer would read.
|
||||
**`call2` seed.** Shipped text in `backend/inference.py` (`CALL2_SEED`), mirrored here for review.
|
||||
|
||||
Write WooCommerce listing copy for this slab from the photos and listing facts below.
|
||||
You write BOTH the short description and the long description.
|
||||
|
||||
Rules that always apply:
|
||||
- Dimensions in the DIMENSION FACT BLOCK are exact: use those strings; invent no numbers.
|
||||
- Use taxonomy names from DECLARED ATTRIBUTES; do not invent species, edge, figure, grade,
|
||||
moisture, or features.
|
||||
- Use the Brand voice and Geography sections when provided. If Brand voice is empty, stay
|
||||
neutral. Never invent return, warranty, or shipping policies.
|
||||
- The product name may already appear in DECLARED ATTRIBUTES — do not invent a new title.
|
||||
|
||||
SHORT DESCRIPTION (~50 words — most important on-page copy; plain text, no HTML):
|
||||
1. Lead with the outcome or problem solved (benefit), not material-first.
|
||||
2. Add the key differentiator or most important spec.
|
||||
3. Close with a trust signal or reason to act.
|
||||
Do NOT lead with a species + material list.
|
||||
|
||||
LONG DESCRIPTION (HTML for the WooCommerce visual editor — short paragraphs, `<ul>`/`<li>` for
|
||||
bullets, `<strong>` for benefit leads; no markdown). Four parts, in order:
|
||||
1. Hook — one sentence restating the core benefit.
|
||||
2. Benefits — 3–5 bullets; each benefit-first, then the supporting spec.
|
||||
3. Full specs — clean list from DECLARED ATTRIBUTES + DIMENSION FACT BLOCK (dims, species,
|
||||
moisture, edge, figure, grade, etc.).
|
||||
4. Trust close — return/warranty/brand; use Brand voice when present; otherwise a short
|
||||
neutral close with no invented policies.
|
||||
|
||||
Return ONE JSON object only (no prose outside JSON) with exactly these keys:
|
||||
`{"short_description": "<plain text ~50 words>", "description": "<HTML long description>"}`
|
||||
|
||||
Runtime appends DECLARED ATTRIBUTES (title + taxonomy; not a prior short), DIMENSION FACT
|
||||
BLOCK, and `Brand voice:` / `Geo:` from Settings (`SETTINGS-30`). The POST handler parses the
|
||||
JSON and persists both fields.
|
||||
|
||||
## 7. Prompt management
|
||||
|
||||
|
||||
Reference in New Issue
Block a user