# Panel brief — goPure Україна song, iteration 4: «every word on the beat»

You write the Ukrainian sung text of an advertorial story-song for goPure Tighten & Lift Neck Cream (50 ml), in a NEW song. The English original («Targ», 3:14) is inspiration and evidence, not a template.

## Where we are (measured)

Iteration 3 (texts A and B below) made the song breathe: a form with a returning hook, a rest after complete thoughts, a coda with one fact per phrase, ~2.7 syllables per sung second; blind reviewers hear songs, not narration. KEEP all of that. What still separates us from the 10/10: in Targ every word lands on the beat. We measured it with forced alignment (vowel onsets of the stressed syllable of every content word against the drum grid): within ±40 ms of the 8th-note grid Targ 0.61, version 2 0.54, A 0.46, B 0.49 (chance 0.28); median deviation 30 / 36 / 48 / 43 ms. A's choruses drag 45–75 ms behind the beat; A puts stressed words on the snare beats.

The text is a lever we can prove from our own takes: across 158 sung phrases of v2, A and B, phrases whose content stresses alternate regularly with ONE unstressed syllable (binary fit ≥ 0.67) were sung at 0.59 on the grid (Targ level), irregular phrases at 0.47; phrases with ≤ 2.3 syllables per content stress at ~0.55, with > 2.8 at ~0.43. Only 11–12 % of the phrases of A and B were regular. So: write every line to a beat map — the words for the beat.

## Non-negotiable rules (invariants, unchanged)

1. Natural, idiomatic Ukrainian; every word with one correct lexical stress in context (a dictionary ledger checks every occurrence). No words that only scan if mis-stressed, no bookish apocope («торкнувсь»), no Russianisms, no inversions that bend syntax for the meter. Numbers in words. Apostrophe = ’ (U+2019).
2. All 39 source thoughts (map below) kept as MEANING; merge or rephrase allowed, sub-details may compress, no thought disappears, no new claim appears. Keep causal links (why she sits in the car, why Лариса says stop, what changes after three and six weeks).
3. Product truth only: cosmetic neck cream for daily hydration and care; ingredients cupuaçu butter (купуасу), olive lipid complex (оливні ліпіди), hyaluronic acid (гіалурон), caffeine (кофеїн); ritual: thin layer on a clean neck, upward strokes, every evening; gradual visible improvement in the look of transverse neck lines, smoothness, firmness with regular use. FORBIDDEN: age reversal, instant disappearance, clinical percentages, prices, scarcity, guarantees, «everything else makes it worse» (the mentor may say «stop switching all the time; care daily»).
4. Brand sung «Ґоу П’юр» (two stressed monosyllables). Coda: six ordering facts, each its own short sung phrase, in this order: brand name; leave name and phone in the form; inspect at the post office; pay after inspection; 60 days to return; link below (low pressure «якщо треба»). A rest after each.
5. Song, not narration: complete sentences sung on a melody; no telegraphic fragments («Субота. Лосини. Пучок.»), no recited lists, no half-spoken asides. A list inside one sentence is fine.
6. One thought per musical phrase; a rest after each completed thought (restAfter true), never after every sub-clause.
7. The first sung word is the story hook («Зустріла…» or equally strong); no instrumental intro.
8. The hook line is identical at every return (≥ 4 words, ≥ 3 returns in ≥ 3 sections).

Inherited language decisions (keep them): plural «ки́слоти» (not кисло́ти); «по́смішка»; «чужу́» instead of «колишню» for what she sees in the mirror; «якого я не знала»; «через яку я сиділа»; «Опора дітям»; «Шкіра рівніша, ніж за десять літ»; «Гарно інакша» and «гарно виглядаєш» (owner authority); «на та́нцях»; «жили́»; «коли́шнього».

## Meaning map (39 thoughts). Ukrainian cast: narrator Оксана (46), ex-husband Андрій, his new wife Наталія (34, never named in the song), mentor Лариса (55), daughter Оля. Product zone: the NECK (transverse lines, folds, dryness), not the face.

t01 | I ran into my ex husband's new wife at Target | unexpected encounter with the former husband's new wife in a store
t02 | She was thirty four | new wife is 34
t03 | She looked at me like she felt sorry for me | perceived pity establishes the wound
t04 | That was in March | March timing
t05 | Mark and I were married sixteen years | sixteen-year marriage (Andrii)
t06 | Then he left for someone from his office. Cliché, I know | he left for a colleague; narrator names the cliché
t07 | She's the kind of pretty that doesn't have to try yet, because time hadn't shown up yet | effortless younger beauty untouched by time
t08 | I looked like I had aged five years in six months | felt five years older in half a year
t09 | Stress will do that / Crying every night will do that / Holding your kids together will do that | causal cell: stress, nightly tears, holding the children together leave a trace (three-fold return)
t10 | I was at Target that Saturday: leggings, no makeup, hair in a bun | Saturday, dressed down
t11 | Staring at another cream that wouldn't work; I had already tried every single one | another cream, exhausted history of trying
t12 | Then I heard her voice one aisle over, knew it was her before she came around | recognises her voice from the next aisle
t13 | She saw me and I watched her face do the thing: a two-second scan | she comes out, scans the neck in two seconds
t14 | Then she smiled. And it wasn't mean, it was worse: sympathetic | pity smile is worse than malice
t15 | Like she was looking at the before version of the woman her husband loved first | "before" version of the woman he loved first
t16 | I walked to my car and sat there for fifteen minutes | fifteen minutes alone in the car
t17 | I wasn't angry at her, I was angry at what I'd seen | anger at her own reflection, not at the woman
t18 | Melasma on my cheeks, patches on my forehead and lip | → for goPure: lines, folds and dryness on the NECK
t19 | Like the light had gone out from inside | inner light gone
t20 | That week at my daughter's dance pickup there's this Korean woman I'd see every day | that week, daughter's dance pickup, Лариса seen daily
t21 | Mid fifties with flawless skin. I had to ask: what do you use, your skin is a dream | Лариса is 55 with a smooth neck; the narrator asks «Чим ти користуєшся?» (melodic play on the question)
t22 | She laughed, then looked at my face, said: honey, what are you using? | she laughs, inspects the neck, asks back «А ти що наносиш?»
t23 | I told her: Tri-Luma, vitamin C, retinol, all the rest | narrator lists what she uses: acids, serums, creams, switching all the time
t24 | She said: stop, all of that is making it worse | mentor's pivot: «Стій. Не все підряд. Доглядай щодня.» (no claim that the others harm)
t25 | Next day she put a pink tube in my hand, something I'd never tried | next day she hands over a jar; a cream the narrator never heard of
t26 | Use this every night, throw the rest aside | the four ingredients (variant A) or two of them (variant B: cupuaçu and hyaluronic; the other two go to the visual layer) AND the ritual: clean neck, thin layer, upward, every evening, don't keep switching
t27 | I squeezed some out and it felt right: no peeling, no sting | comfortable: no burning, no peeling
t28 | Three weeks later I looked in the mirror and stopped; the patches were lighter | three weeks: stops at the mirror, lines less visible (partial)
t29 | My daughter came home and said: Mom, you look different, good different, brighter | daughter: «Мамо, ти інакша. Гарно інакша. Світліша.»
t30 | By week six I was in shock; the melasma was almost gone | week six: can't believe it — neck smooth, no lines, no folds
t31 | My skin more even than it had in a decade. No foundation on | skin evener than in ten years; goes out with the neck uncovered
t32 | Then June happened: piano recital for my daughter's class | June, the daughter's class recital (she plays piano)
t33 | Mark's wife sat down a few seats from me. She looked at me: not pity, not sympathy, just confused | the wife sits nearby; the look again: not pity, not sympathy — confused
t34 | After the recital she walked up to me, said: you look really good… by the way | after the concert: «Ти дуже гарно виглядаєш… до речі» (the "by the way" dropped after a beat)
t35 | Same woman who made me sit in my car that day | the same woman because of whom she sat in the car in spring
t36 | I said thank you. And I meant it too | sincere thanks
t37 | Not because her opinion mattered, but because mine finally did | own judgment finally matters (the emotional climax: «свою»)
t38 | The cream is called … | brand: «Крем називається Ґоу П’юр»
t39 | The link's below if you need it | link below + the ordering conditions (form with name and phone; inspect at the post office; pay after inspection; 60-day return)


## The beat map (H1/H4): words written for the beat

Every phrase gets 8th-note slots on a 4/4 grid at the seed's pulse, 103.4 BPM (the cover keeps Targ's tempo even at low weight — iteration-3 fact). The tool places your syllables (one per vowel letter) and checks the rules; you change words, word order and phrase length until the line sits.

```
.runtime/song-venv/bin/python tools/beat_map.py scan --meter straight "Дивлю́сь на себе́ — і що́ я ба́чу?"
.runtime/song-venv/bin/python tools/beat_map.py check <your-design.json> --meter straight      # whole text: flags per phrase + totals
```
Output grid «1.1:**слово[k]**» = bar 1, beat 1, stressed syllable k of the word; «1.2&» = the 8th after beat 2; «0.4&» = pickup. If a word is AMBIGUOUS, mark the intended stress with U+0301 in the line (e.g. «жили́»); the ledger will cite the dictionary later. Words of the inherited ledgers already resolve automatically.

### Variant T — «Пульс Targ»: straight 4/4, 103 BPM, folk-pop, refrain question
- Meter: binary (trochaic/iambic flow). The stressed syllable of every content word sits on a BEAT (1, 2, 3 or 4; 1 and 3 preferred); unstressed syllables fill the 8ths between; two unstressed in a row are allowed as a 16th pair, rarely.
- Per phrase: binary fit ≥ 0.67 (most gaps between content stresses are exactly ONE unstressed syllable), ≤ 2.6 syllables per content stress, 7–12 syllables, no held unstressed syllable, placement cost ≤ 1.5. Prefer short words, monosyllables and consonant-final words at phrase ends (a stressed final syllable — «слі́д», «ча́с», «моя́», «внизу́» — lands the phrase on a beat).
- Phrase = 2 bars: about 6 sung beats + a rest of 2 beats (restAfter). Sung rate must stay ≤ 2.9 syllables per sung second, so a 2-bar phrase carries ≤ 10–11 syllables and its last stressed word may be held.
- Form (from B): [Verse 1] t01–t08 · [Refrain] hook + t09 cell («Стрес лишає слід…») · [Verse 2] t10–t15 · [Verse 3] t16–t19 · [Refrain] hook + answer · [Verse 4] t20–t24 (Лариса dialogue, «Стій») · [Verse 5] t25–t27 (all four ingredients if they fit the meter; else cupuaçu + hyaluronic sung, lipids + caffeine declared for the screen) · [Verse 6] t28–t31 · [Refrain] hook + answer · [Bridge] t32–t37 (climax on «моя») · [Outro] t38–t39 + the six coda facts.
- Hook: keep B's refrain «Дивлю́сь на себе́ — і що́ я ба́чу?» (it maps: stresses on 1-3-4-1 with one held «на»), each return followed by a short changed answer; rewrite only if you find a better binary hook.

### Variant H — «Половинний час»: half-time feel, stresses on 1 and 3, ballad-pop with a chorus
- Meter: ternary cells on a half-time grid. Content stresses ONLY on beats 1 and 3 of each bar; between two stresses 1–3 unstressed syllables, ideally TWO (dactyl/amphibrach: «Зустрі́ла дружи́ну коли́шнього» is perfect).
- Per phrase: ternary fit ≥ 0.5 (most gaps = two unstressed), 2.5–3.4 syllables per content stress, 8–12 syllables (2 bars = 4 strong beats), placement cost ≤ 1.5.
- Phrase = 2 bars + a rest of 2 beats after a completed thought. Sung rate lands naturally near 2.4–2.6.
- Form (from A): [Verse 1] t01–t08 · [Pre-Chorus] t09 cell · [Verse 2] t10–t15 · [Chorus] t16–t19 + hook · [Verse 3] t20–t24 · [Verse 4] t25–t27 · [Verse 5] t28–t29 · [Chorus] t30–t31 + hook · [Bridge] t32–t35 · [Chorus — climax] t36–t37 + hook · [Outro] t38–t39 + coda facts.
- Hook: keep A's «Я дивлю́сь у дзе́ркало — і ба́чу …» with three different endings (чужу́ / сві́тло / себе́); it maps cleanly in half-time.

Both variants: total 500–545 syllables (39 thoughts in complete sentences need ≈ 530; do not amputate causal links to save syllables); 44–56 phrases; the six coda phrases 6–10 syllables each; the hook phrase identical at each return; the first phrase starts with the story hook.

## What to deliver

1. Write the design JSON with the Write tool to the path given in your task (exact shape below).
2. Run `tools/beat_map.py check <path> --meter <meter> --json <path with .check.json>` and iterate until ≥ 85 % of phrases have no flags, totals are in budget and the hook returns ≥ 3 times. Remaining flags must be deliberate (say why in notes).
3. Reply in ≤ 300 words: path, totals line of the check, the hook, the flagged phrases you kept and why, any AMBIGUOUS stress you marked. Do NOT paste the whole text in the reply.

```json
{
 "variant": "T" | "H", "meter": "straight" | "halftime", "author": "…",
 "hookLine": "<identical at every return, ≥ 4 words>",
 "sections": [
  {"id": "v1", "tag": "[Verse 1]", "kind": "verse|prechorus|chorus|refrain|bridge|coda", "title": "…", "fillAfter": false,
   "phrases": [
     {"text": "…", "meaningIds": ["t01"], "focus": "<key word>", "thoughtBoundary": true, "restAfter": true,
      "contourStep": "up|down|same", "register": "low|mid|high", "holdAllowed": "<one stressed word of the phrase or none>",
      "character": "narrator|larysa|daughter|wife", "notes": "<optional: what you changed from A/B and why>"}
   ]}
 ],
 "codaLayout": [{"factId": "brand|form|inspect|payment|returns|link", "phraseText": "…"}],
 "notes": "…"
}
```
Rules: every t01–t39 appears in some phrase's meaningIds; hook phrases carry the thought they echo (t15/t19, t30, t37 or the question's answer); coda phrases carry t38/t39; restAfter true after ≥ 80 % of completed thoughts; at most 6 phrases with register high; ≥ 10 % low (asides, connectives, coda); holdAllowed names a stressed word of the phrase or none.

## Starting material: iteration-3 texts (accepted by the agent; reuse any line that fits the meter)

### Text A (candA-r1e, ballad with chorus)
```
[Verse 1]
Зустріла дружину колишнього.
Їй тридцять чотири. В очах — жалість.
Був березень. З Андрієм жили шістнадцять літ.
Пішов до колеги — банально, знаю.
Гарна — її ще не торкнувся час.
А я за пів року постаріла на п’ять літ.
[Pre-Chorus]
Стрес лишає слід.
Нічні сльози лишають слід.
Опора дітям — теж лишає слід.
[Verse 2]
У суботу я в крамниці — без косметики.
Знов дивлюсь на крем — перебрала всі.
Впізнала голос — і погляд ковзнув по шиї.
Посмішка не зла — гірше: співчутлива.
Наче я — лиш тінь тієї, що він любив.
[Chorus]
П’ятнадцять хвилин сиділа в машині.
Злюсь не на неї — на те, що бачу.
Я дивлюсь у дзеркало — і бачу чужу.
На шиї бачу сухість, смуги, заломи.
Ніби світло в мені згасло.
[Verse 3]
У доньки на танцях щодня бачила Ларису.
Їй п’ятдесят п’ять — а шия гладенька.
Питаю: «Чим ти користуєшся?»
Сміється: «А ти що наносиш?»
«Кислоти, сироватки — все підряд».
«Стій. Не все підряд — доглядай щодня».
[Verse 4 — slower]
Назавтра дала крем, якого я не знала.
Там купуасу, гіалурон —
оливні ліпіди й кофеїн.
«Щовечора нанось на чисту шию — тонко, вгору».
Без печіння, без лущення — комфортно.
[Verse 5]
За три тижні в дзеркалі — смуги менш помітні.
Донька каже: «Ти гарно інакша. Світліша».
[Chorus]
Шість тижнів — не вірю: смуг майже не видно.
Я дивлюсь у дзеркало — і бачу світло.
Шкіра рівніша, ніж за десять літ.
І з відкритою шиєю йду на люди.
[Bridge]
У червні донька грала на концерті.
Дружина колишнього сіла поруч.
Знов дивиться — не жалість, а подив.
Підійшла: «Гарно виглядаєш… до речі».
Та, через яку я сиділа в машині.
[Chorus — climax]
Я сказала «дякую» — і щиро.
Не її думка важить — нарешті моя.
Я дивлюсь у дзеркало — і бачу себе.
[Outro — half-time]
Крем називається Ґоу П’юр.
Залиш ім’я й телефон у формі.
На пошті все оглянь.
Після огляду — платиш.
На повернення — шістдесят днів.
Якщо треба — посилання внизу.
```

### Text B (candB-r1e, folk-pop with refrain question)
```
[Verse 1]
Зустріла в крамниці дружину колишнього.
Їй тридцять чотири — і жалість в очах.
Був березень. З Андрієм жили шістнадцять літ.
Пішов до колеги. Банально, я знаю.
Вона гарна — її не торкнувся час.
А я за пів року постаріла на п’ять літ.
[Refrain]
Дивлюсь на себе — і що я бачу?
Стрес лишає слід.
Нічні сльози лишають слід.
Опора дітям — теж лишає слід.
[Verse 2]
У суботу я — без косметики, в лосинах.
Знов дивлюсь на крем — перебрала всі.
Її голос — з-за полиць.
Вийшла — й погляд ковзнув по шиї.
Посмішка не зла — гірше: співчутлива.
Наче я — лиш тінь тієї, що він любив.
[Verse 3]
П’ятнадцять хвилин сиділа в машині.
Злюсь не на неї — на те, що бачу.
На шиї бачу сухість, смуги, заломи.
Ніби світло в мені згасло.
[Refrain]
Дивлюсь на себе — і що я бачу?
Чужу жінку.
[Verse 4]
У доньки на танцях щодня бачу Ларису.
Їй п’ятдесят п’ять — а шия гладенька.
Питаю: «Чим ти користуєшся?»
Сміється: «А ти що наносиш?»
«Кислоти, сироватки — все підряд».
«Стій. Не все підряд — доглядай щодня».
[Verse 5 — softer]
Назавтра дала крем, якого я не знала.
А в ній — купуасу й гіалурон.
«Щовечора нанось на чисту шию — тонко, вгору».
Без печіння, без лущення — комфортно.
[Verse 6]
За три тижні смуги вже менш помітні.
Донька каже: «Ти гарно інакша. Світліша».
Шість тижнів — не вірю: смуг майже не видно.
Шкіра рівніша, ніж за десять літ.
І з відкритою шиєю йду на люди.
[Refrain]
Дивлюсь на себе — і що я бачу?
Нарешті — себе.
[Bridge — climax]
У червні донька грала на концерті.
Дружина колишнього сіла поруч.
Знов дивиться — не жалість, а подив.
Підійшла: «Гарно виглядаєш… до речі».
Та, через яку я сиділа в машині.
Я сказала «дякую» — і щиро.
Не її думка важить — нарешті моя.
[Outro — half-time]
Крем називається Ґоу П’юр.
Залиш ім’я й телефон у формі.
На пошті все оглянь.
Після огляду — платиш.
На повернення — шістдесят днів.
Якщо треба — посилання внизу.
```
