fix(call2): plain text + woodworker tone
Review short/long must not show HTML tags; seed now requires plain text only (newlines/- bullets) and practical woodworker copy. parse_call2_response strips residual HTML as a safety net. Seed activation unchanged.
This commit is contained in:
+22
-12
@@ -168,9 +168,17 @@ Runtime appends `LISTS:` (JSON of the five closed lists) plus SKU/length/thickne
|
||||
|
||||
**`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.
|
||||
Write listing copy for this slab for woodworkers choosing stock for a project. Audience:
|
||||
makers matching wood to a tabletop, bar, bench, or similar build — practical,
|
||||
material/figure/spec-forward. No lifestyle or marketing hype (avoid empty phrases like
|
||||
elevate, stunning, dramatic visual contrast).
|
||||
You write BOTH the short description and the long description.
|
||||
|
||||
PLAIN TEXT ONLY (short AND long):
|
||||
- Output plain text only. No HTML tags (`<p>`, `<ul>`, `<li>`, `<strong>`, `<br>`, etc.).
|
||||
No markdown bold/headers that look like markup (`**bold**`, `#` headers).
|
||||
- Structure the long description with newlines and `- ` bullets when helpful.
|
||||
|
||||
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,
|
||||
@@ -178,28 +186,30 @@ Rules that always apply:
|
||||
- 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.
|
||||
- Lead with usable traits (species, figure, size, edge, moisture, grade) and what the piece
|
||||
suits (tabletop, bar, etc.) without ad-copy fluff.
|
||||
|
||||
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.
|
||||
SHORT DESCRIPTION (~50 words — most important on-page copy; plain text only):
|
||||
1. Lead with a practical outcome for a maker (what they can build / how the stock helps),
|
||||
not lifestyle hype and not a bare species list.
|
||||
2. Add the key differentiator or most important spec (figure, edge, size, moisture, grade).
|
||||
3. Close with a trust signal or concrete reason to choose this piece.
|
||||
|
||||
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.
|
||||
LONG DESCRIPTION (plain text only — newlines and `- ` bullets; no HTML, no markdown markup).
|
||||
Four parts, in order:
|
||||
1. Hook — one sentence on what the piece suits and its standout usable trait.
|
||||
2. Benefits — 3–5 bullets; each maker-useful trait 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>"}`
|
||||
`{"short_description": "<plain text ~50 words>", "description": "<plain text 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.
|
||||
JSON, strips any residual HTML to plain text, and persists both fields.
|
||||
|
||||
## 7. Prompt management
|
||||
|
||||
|
||||
Reference in New Issue
Block a user