<!-- source: openspec/changes/reposition-home/design.md -->

# Design — reposition-home

> Companion to `proposal.md`. Prose-style design (no formal `specs/` deltas — see `openspec/AGENTS.md`).
> This document grows block-by-block. **Hero** is the first deliverable (2026-06-14).

## Block deliverables & Linear issues

One Linear issue per block. Listed here near the top so the openspec→Linear sync (`tools/openspec-to-linear-sync`, which scans the first 8 KB of this file for the PR's RAP id) resolves every block — append new blocks' ids here as they ship.

- hero — no Linear issue (PR #1945)
- what-we-build — RAP-1284 (PR #1946)
- how-we-work — RAP-1285 (PR #1947)
- services — RAP-1286
- now-building — RAP-1287
- connected-stack — RAP-1288
- founder-note — RAP-1289
- declutter scroll (remove founders/legacy/connected-stack/operating-model) — RAP-1290
- plain-language pass (de-jargon top blocks + meta) — RAP-1291

Phase 2 — reposition (spine A), shipped as bounded changes A–H (A first):
- phase-2 A: hero + re-sequence — RAP-1292
- phase-2 B: founder block rewrite (trust anchor) — RAP-1293
- phase-2 C: proof in numbers (venture metrics) — TBD
- phase-2 D: "how it works inside" door (OpenSpec relocation) — TBD
- phase-2 E: three-audience split (+ /founders de-jargon) — TBD
- phase-2 F: sector landing angles — TBD
- phase-2 G: canonical positioning phrasing — RAP-1294
- phase-2 H: nav/service renames — RAP-1296
- phase-2 RO register formalization pass (site-wide «tu»→«dumneavoastră», D-RH-27) — TBD

---

## Hero block (delivered 2026-06-14)

### Target

Live home hero = component **`HeroC`** (`apps/web/src/components/home/hero-c.tsx`), copy under `web.home.heroC.*`, visual = `TacticalFrame` + wireframe globe (`hero-globe-background-c.tsx`).

**Two corrections to the proposal's original "Hero block" prose** (it was written against the legacy hero):

1. `subWithFounders` and the legacy `hero.tsx` are **not** on the home page — they belong to the `/founders` page (`apps/web/src/app/[locale]/(marketing)/founders/page.tsx`). They are **out of scope** and untouched; touching them breaks `/founders`.
2. `OrchestraDiagram` is **not** the hero visual — it is the `what-we-build` block. The hero visual is the globe + `TacticalFrame`, unchanged.

### Decisions

- **D-RH-5 — Hero copy.** The three-line lockup follows the canonical research-§9 hero line, verbatim in intent (flagged `[inferred]` in the source): «найдём, где ваш бизнес заработает больше, и вырастем вместе». Revenue-growth ahead of automation. The subhead leads with a diagnostic, not a price list. No price, no "founder", no "audit" framing (D-RH-3).
- **D-RH-6 — CTAs.** Primary CTA = **external Telegram deeplink with a prefilled message** — `https://t.me/<handle>?text=<URL-encoded prefill>` — one-tap contact, no form, no intermediate page. Secondary CTA = **in-page anchor `#what`** (the what-we-build section; consistent with the existing `hero.tsx:79` anchor). Both are plain links, not i18n routes. **Consequence:** the hero no longer depends on `/research` being built before it can ship.
- **D-RH-7 — Metadata.** `home.meta.title` + `home.meta.description` (consumed by `generateMetadata()` at `apps/web/src/app/[locale]/(marketing)/page.tsx`) rewritten off the founder/price framing to the revenue-growth-first message.
- **D-RH-8 — Contact channel.** Telegram for the current locales (ru/en/ro). WhatsApp + a Hebrew locale are a future follow-up (need a WhatsApp number), out of scope here.

### Copy keys touched

`web.home.heroC.{line1,line2,line3,subhead,ctaPrimary,ctaSecondary}` + new key `web.home.heroC.ctaPrimaryPrefill` (the Telegram draft text); `web.home.meta.{title,description}`. All three locales (`ru`/`en`/`ro`) kept at parity. RU is the source; EN/RO are drafts flagged for native review (RO verifiable by the owner directly).

### Ratified RU copy

```
heroC.line1            = Найдём, где ваш бизнес
heroC.line2            = заработает больше.
heroC.line3            = И вырастем вместе с вами.
heroC.subhead          = Начинаем не с прайс-листа, а с диагностики: ищем самый окупаемый рычаг роста выручки. Делаем малый проверяемый шаг — и растём вместе с вашим бизнесом.
heroC.ctaPrimary       = Обсудим, где вы заработаете больше →
heroC.ctaSecondary     = Что мы строим →
heroC.ctaPrimaryPrefill= Здравствуйте! Хочу понять, где мой бизнес может заработать больше.
meta.title             = Rapoport Studio — растим вашу выручку, потом выставляем счёт
meta.description       = Находим, где ваш бизнес заработает больше, и растём вместе. Слаженная команда EU+Израиль, AI-нативный слой доставки, каждое изменение в открытом доступе. EN · RO · RU.
```

### Capability amendment

`openspec/current/home/blocks.md` gets a dated amendment section (`## Reposition home — hero (applied 2026-06-14 from change reposition-home)`) recording the new audience, content, CTA, and unchanged-visual contract. The line-140 `## Hero` block is left in place per the amendment-markup convention (hard rule 7).

### Verification (see PR)

Typecheck + lint; locale key parity (incl. new `ctaPrimaryPrefill`); browser smoke on `/ru`, `/en`, `/ro` (lockup + diagnostic subhead, primary opens Telegram with prefill, secondary scrolls to `#what`, `<title>`/description updated); `/founders` regression unchanged.

---

## What we build block (delivered 2026-06-14)

### Target

Component `apps/web/src/components/home/what-we-build.tsx`, copy under `home.whatWeBuild.*`, visual = `OrchestraDiagram` + wireframe globe, `id="what"`. The hero's secondary CTA (shipped #1945) lands here. Copy-only re-aim, founder→owner.

### D-RH-9 — what-we-build recopied to owner-outcome (Direction A)

The orchestra is reframed from an abstract "makes the platform feel intelligent" line into **agents that do your business's work and report back** (revenue-facing). The ownership payoff is kept but translated into owner language (a spec in your repo; take it and it keeps running). The OpenSpec triplet mechanics are lightened — the `openSpecAnchor` paragraph (markdown / proposal-design-tasks) is dropped; the GitHub link stays only as quiet proof, not the lead. Section title and visual unchanged.

**Slot mapping:**
- `eyebrow` — **unchanged** («Что мы строим» / "What we build" / "Ce construim"); it is the label the hero CTA lands on at `#what`.
- `heading` ← lead, **first clause only** (punchy; replaces «делает платформу осмысленной» and fixes the over-long serif heading).
- `lede` — **retained** ← lead, second clause; a one-line bridge above the diagram.
- `diagram.*` — **unchanged** (visual).
- `supporting` ← body (conductor + four sections + "reports back" / revenue).
- `openSpecAnchor` — **dropped** (only key removed across all three locales).
- `trustAuthorship` ← ownership (plain owner language); `trustAuthorshipLink`/`trustAuthorshipHref` **unchanged** (quiet GitHub proof).
- `pullQuote` ← new copy; the second sentence wrapped in `<em>` for the component's designed emphasis (words unchanged).

Flow: eyebrow → heading → lede → diagram → supporting → ownership + GitHub link → pull-quote.

### Ratified RU copy

```
heading         = Не один чат-бот, а оркестр агентов.
lede            = Каждый закрывает свою часть работы вашего бизнеса.
supporting      = Дирижёр держит ритм, секции исполняют — продажи, операции, контент, аналитика. Каждый агент делает конкретную работу и отчитывается: вы видите, кто что сделал. Не «ИИ где-то внутри приложения», а слаженная команда, работающая на вашу выручку.
trustAuthorship = И это остаётся вашим. Вся система описана спецификацией в вашем репозитории с первого дня — закроете проект, заберёте и систему, и спецификацию, она продолжит работать без нас.
pullQuote       = Большинство «ИИ-решений» — чат-бот, прикрученный к вашему приложению. <em>Мы строим оркестр, который делает работу.</em>
```

EN/RO are drafts flagged for native review (RU is the source; RO owner-verifiable).

### Capability amendment

`openspec/current/home/blocks.md` gets a `### What we build (applied 2026-06-14 from change reposition-home, RAP-1284)` subsection under the dated reposition-home section. The line-273 `## What we build` block is left in place (hard rule 7).

---

## How we work block (delivered 2026-06-14)

### Target

Component `apps/web/src/components/home/how-we-work.tsx` (`track="client"` variant), copy under `home.howWeWork.*`, anchor `id="how"`. The `track="founder"` variant reads `web.founders.howItWorks` and is untouched. Copy-only + a pillar re-wire, founder→owner.

### D-RH-10 — how-we-work recopied to a revenue-first owner journey

The four steps are reframed from process-mechanics into an owner journey: **Диагностика → Доказательство → Сборка → Владение** (exactly four; internal step keys `brief/curate/build/deliver` unchanged). Heading = **variant B** («Собираем решение под вашу задачу — не подгоняем вас под пакет.»). Internal tool names (Mirror / Canvas / Muse / Forge / OpenSpec / Project) are removed from owner-facing copy. The trust lines are kept **verbatim**; the `lede` is dropped; the eyebrow and `#how` anchor are unchanged.

**Pillar relocation.** `trustSecurity` («…не пишет код в вашем репозитории. Специалисты не получают доступ к продакшену») **moves from step 2 (`curate`) to step 3 (`build`/«Сборка»)** — after the reframe, the team/specialists concept lives on the Build step, so the access claim follows it. Wired via `CLIENT_STEPS[].pillarKey` (`curate` → `undefined`, `build` → `"trustSecurity"`). `trustPortability` stays on step 4 (`deliver`/«Владение»).

**EN trust-line divergence (flagged, not fixed).** EN `trustSecurity` reads "Studio's bot writes PRs in your repo — your team merges," contradicting RU/RO «Студия не пишет код…». Pre-existing; trust-line wording is out of scope, so each locale is kept verbatim and the key is only relocated.

### Ratified RU copy

```
heading            = Собираем решение под вашу задачу — не подгоняем вас под пакет.
brief   : Диагностика / Находим самый окупаемый рычаг: где вы недозарабатываете и где утекает время.
curate  : Доказательство / Делаем малый проверяемый шаг — быстрый результат до больших вложений.
build   : Сборка / Собираем точную команду под вашу задачу и встраиваем агентов, которые делают работу.
          ↳ trustSecurity (moved here, verbatim): Студия не пишет код в вашем репозитории. Специалисты не получают доступ к продакшену.
deliver : Владение / Система ваша с первого дня и продолжает работать без нас.
          ↳ trustPortability (unchanged): Закройте проект. Заберите spec. Он продолжит работать.
```

EN/RO are drafts flagged for native review (RU is the source; RO owner-verifiable).

### Capability amendment

`openspec/current/home/blocks.md` gets a `### How we work (applied 2026-06-14 from change reposition-home, RAP-1285)` subsection under the dated reposition-home section. The line-554 `## How we work` block is left in place (hard rule 7).

---

## Services block (delivered 2026-06-14)

### Target

Component `apps/web/src/components/home/services-section.tsx` (`track="client"` branch), copy under `home.services.*`, anchor `id="services"`. The most structural block so far — not a copy swap.

### D-RH-11 — services reframed from a five-form package menu into a migration-to-the-AI-era narrative

The home services block dropped the five fixed forms (Discovery/Migration/Modular/Platform/Subscription), the "Platform — 6-month minimum" framing, and the "Что не берём" rejection list. It is now a single owner-facing narrative anchored on **internal chaos → migration → a business that grows again**, revenue-first (migrate the highest-ROI lever first, from a map of the current state). Horizontal (any established business; concrete examples for tangibility, not a vertical restriction). Differentiation comes from the studio's specifics (own the spec; agents prepare / humans decide; no lock-in) in the trust close — not from the word "migration".

**Guardrail:** grounded + revenue-anchored, not AI-hype — no price, no package/menu language, no 6-month minimums. The three concrete examples + the current-state mapping are what keep it from drifting into buzzwords.

**Flow:** eyebrow → heading → intro (pain → migration) → mechanism (current-state map + revenue-first + land-small + specialists migrate their layer) → three concrete examples → trust close (control + no lock-in).

**Structure / scope:**
- The home-only `ServicesCatalog` (`services-catalog.tsx`) is **deleted**; the client branch renders the narrative directly (`SectionHead` + paragraphs + a three-row `border-t border-grid` example list). The `track="founder"` variant (`#service-with-lens`) is untouched.
- Eyebrow reframed to «Переход в новую эпоху» (was «Услуги»). `home.services` key tree replaced: kept `eyebrow`/`heading` (repurposed); `intro` object → string; added `mechanism`, `examples.{title,1,2,3}`, `trust`; removed `lede`/`dontTakeSharedHeading`/`note`/`cta`/old `intro` sub-keys.
- **Shared content left untouched:** `web.services.<slug>.*` (the five-card content, incl. the platform 6-month copy) and `web.services.dontTakeShared.*` are used by `/services` + detail pages — the home just stops rendering them. `/services` (independent `ServiceFunnelCatalog` + `ServicesDecisionRouter`) is unchanged.

### Strategic follow-up — `/services` is the top repositioning debt

This change is scoped to the home block. After it merges, the old business model stays live on `/services` (five forms, 6-month minimum, decision router, five detail pages) one click from the new narrative — a visible contradiction window. **`/services` + the five detail pages + the nav «Услуги» dropdown are the next change**, not cosmetic nav cleanup; resolve label + destination + page fate together (Option A: fast-follow `/services` reframe; Option B: temporarily point nav «Услуги» at the home `#services` section and reconcile the label). Open fork: whether **migration becomes the page-wide spine** (hero → migration → how-we-work → ownership) — the remaining blocks are best sequenced on that decision. Orphan-cleanup follow-up: `ServiceList` (`service-list.tsx`) + `web.services.dontTakeShared.*` lose their only consumer with `ServicesCatalog` deleted.

### Ratified RU copy

```
eyebrow         = Переход в новую эпоху
heading         = Из беспорядка — к бизнесу, который снова растёт.
intro           = Компания перестала расти не потому, что кончился рынок, а потому, что внутри — беспорядок… Мы переводим бизнес в новую эпоху — в AI-нативную систему, где рутину делают агенты.
mechanism       = Начинаем с карты того, как вы работаете сейчас, и находим, где переход окупится быстрее всего. Мигрируем сначала этот рычаг, доказываем результат, расширяемся дальше.
examples.title  = Как это выглядит на практике
examples.1/2/3  = квалификация заявок · уборка ручного переноса данных · ассистент в WhatsApp
trust           = Без потери контроля: агенты готовят — решение за человеком. Без привязки к нам: закроете проект — система и спецификация остаются у вас.
```

EN/RO are drafts flagged for native review (RU is the source; RO owner-verifiable).

### Capability amendment

`openspec/current/home/blocks.md` gets a `### Services (applied 2026-06-14 from change reposition-home, RAP-1286)` subsection under the dated reposition-home section. The line-950 `## Services` block is left in place (hard rule 7).

---

## Now building block (delivered 2026-06-14)

### Target

Component `apps/web/src/components/home/now-building.tsx` (`#now`). Work cards are **Supabase `work_engagements` rows** (loader `apps/web/src/content/work/loader.ts`), **not MDX** — the original plan's MDX premise was wrong (corpus drift; see follow-up). Cards are single-language (English); only the chrome localizes. Status enum has no `draft`.

### D-RH-12 — now-building reframed to owner-proof (the studio's own ventures)

Chrome (`home.nowBuilding.heading`/`lede`) reframed to "the method we bet our own companies on / our own ventures, built on the same method we offer you" (eyebrow «В работе» kept). The grid shows **all four own ventures in a fixed editorial order** via a new **`home_priority` column** on `work_engagements`, loader-sorted `home_priority asc nullsFirst:false → year desc → slug asc`:

| # | slug | status | engagement | note |
|---|---|---|---|---|
| 1 | building-rapoport-studio-with-rapoport-studio | in-progress | self | summary lightly improved (**DRAFT**) |
| 2 | dentour | in-progress (was published) | self (was fixed) | in-development summary (**DRAFT — verify geography/claims**) |
| 3 | vivod | in-progress | co-founder | summary kept |
| 4 | senzo | in-progress (NEW) | self | new own venture |

- **Cap raised 2 → 4** (`now-building.tsx`) so all four render (2×2); overrides the prior cap-2/one-featured contract (Pavel's call). `engagement` aligned to own-venture for all four (VIVOD stays `co-founder` — accurate, an own-venture sub-type). `i-avocat` (published, stealth) untouched.
- **`client` = sector tag** for own ventures (Senzo `"Premium catering, Israel"`); single-language English summaries (pre-existing limitation, flagged).
- **Honesty:** own ventures, not client case studies; no external-paying-client implication; Senzo's supplier/client/menu platform is "building", not shipped. Dentour + studio summaries are DRAFTs for Pavel.

### Migration / ops

`supabase/migrations/20260614120000_reposition_now_building.sql` (ADD COLUMN + insert Senzo + update vivod/dentour/studio). Applied to prod (`nifagnmgwoqkplegsicy`) via Supabase MCP `apply_migration`; `schema_migrations.version` reconciled to `20260614120000`. Conscious prod mutation: Dentour goes public as in-progress at apply time; the brief new-data/old-code window is minimized by auto-merging on green.

### Code surface

`packages/db/src/types.ts` (+`home_priority` on Row/Insert/Update), `packages/db/src/work.ts` (+`home_priority` in `workEngagementInputSchema`), `loader.ts` (3-key sort), `now-building.tsx` (cap 4), `work-loader.test.ts` (3 `.order` links) + `now-building.test.tsx` (cap test) updated. Chrome i18n ru/en/ro (EN/RO drafts for native review).

### Follow-up (corpus drift)

`openspec/current/home/entities.md` describes work cards as MDX — the implementation is Supabase. File a `current/` drift audit; the spec is wrong, not this block.

### Capability amendment

`openspec/current/home/blocks.md` gets a `### Now building (applied 2026-06-14 from change reposition-home, RAP-1287)` subsection. The in-place block is left untouched (hard rule 7).

---

## Connected stack block (delivered 2026-06-14)

### Target

Component `apps/web/src/components/home/connected-stack.tsx`, copy under `home.connectedStack.*`, anchor `id="connections"`. 9-tile grid (3 connected / 3 in-development / 3 planned), `<details>` disclosure on mobile, `mvpFootnote` + `cta`/`ctaLink` below. The corpus had **no content contract** for this block (pre-existing debt). i18n-only change — no component or test edit.

### D-RH-13 — connected-stack reframed (proven stack + custom-connections-spec'd)

Chrome reframed from "works with your tools" (which implied the client's tools, though the tiles are the studio's stack) to the **studio's stack as a proven asset**: `eyebrow` «Наш стек», `heading` «Тот же стек, на котором работаем сами.», `lede` "assembled and honed over years of fast-paced startup development in Israel; we build clients' projects on it too." The existing custom-connections `cta` was **reframed in place** (not duplicated with a new `customLine`) to "custom connections to your systems — a specification for each", keeping `ctaLink` (→ `/start-project`).

- **Reframe existing `cta`, not add `customLine`:** the block already had a custom-connections line (`cta`+`ctaLink`) — adding a new key would duplicate it. Reframing keeps it i18n-only (no component/test change) and reuses the below-grid mono idiom.
- **Honesty gates:** no "best" superlative; provenance ("Israeli startup fast-dev") is a Pavel-verified public claim; the per-tile status labels + `mvpFootnote` ("all nine connected by MVP close") are kept verbatim so "we run on it ourselves" never implies all nine are in daily production. Tiles/statuses/disclosure/anchor unchanged.

### Follow-ups (not done here)
`mvpFootnote` dedup + de-jargon ("к закрытию MVP" on an owner page; "uses itself" now also in lede) — left verbatim to protect the honesty caveat. Open question: the 9-tile dev-infra grid is the most technical block on an owner page — demote/simplify long-term?

### Capability amendment

`openspec/current/home/blocks.md` gets a `### Connected stack (applied 2026-06-14 from change reposition-home, RAP-1288)` subsection — the first recorded copy contract for the block. The in-place block is left untouched (hard rule 7).

---

## Founder note block (delivered 2026-06-14)

### Target

Component `apps/web/src/components/home/founder-note.tsx`, copy under `home.founderNote.*`, anchor `id="founder-note"`. Was a one-line text strip (RAP-1190 D-HTN-5, text-only by design); **no existing avatar**, no test.

### D-RH-15 — founder-note expanded into a distilled founder reflection

The single `credibility` line is replaced by a `body` reflection — the page's **highest-trust block** (the studio is ~1 month old; the founder's 20-year track record is the anchor): 1990 notebook / imagination → self-taught, learned from people → honestly-framed verifiable Israeli-startup exits (Soluto, Wibbitz, Perimeter 81, Zerto) → Zerto→HPE corporate experience → every era → "the AI era demands we be more human, not less" → people-first. RU is **Pavel's verbatim** (personal narrative + the HPE/corporate factual claim — agent did not author it); EN/RO drafted from it for native review.

- **Keys:** `eyebrow` reframed «Основатель»→«От основателя»; `credibility`→`body`; `name` kept; **`linkUrl` corrected `t.me/paveliko`→`t.me/pavelrapoport`** (match the hero CTA); `linkLabel` + anchor unchanged. Parity preserved (credibility removed + body added in all three).
- **Component:** two-column layout (`md:flex-row md:items-center`) — left = eyebrow → body (serif, ~60ch) → name + Telegram; right = a **large B&W portrait** (`apps/web/public/founder/pavel-rapoport.jpg`, 800×1218 source, `md:w-[360px]`, `aspect-[2/3]`, `grayscale` via `next/image`). Flat-editorial tokens, sharp corners. Shipped over three PRs: reflection copy (#1951), portrait wiring (#1952), two-column layout (this PR — Pavel wanted the photo large, on the right, in one row with the text).
- **Honesty:** "helped build" not "sold"; only the four exits; no dates beyond 1990; no fifth company; no superior/uncomfortable framing. The exits + HPE claim are Pavel-confirmed.

### Follow-up (not this change)
A **fuller founder essay on a dedicated page** + a "full story →" link from this block. (The portrait, originally a planned fast-follow, shipped in a follow-up PR once Pavel provided the file — `next/image` optimization is confirmed working on the Cloudflare prod deploy.)

### Capability amendment

`openspec/current/home/blocks.md` gets a `### Founder note (applied 2026-06-14 from change reposition-home, RAP-1289)` subsection. The in-place block is left untouched (hard rule 7).

---

## Declutter scroll (delivered 2026-06-14)

### Target

`apps/web/src/app/[locale]/(marketing)/page.tsx` (composition only). Structural, no copy. Removes four blocks from the home scroll, following the RAP-1190 D-HTN-6/D-HTN-7 precedent (remove from arc, retain files + keys).

### D-RH-16 — remove four blocks from the home scroll (files + keys retained)

Removed: **connected-stack** (#connections — dev-infra logos, low owner-relevance), **operating-model** (#operating-model — internal agent roster + mechanics already carried by what-we-build / how-we-work / founder-note), **for-founders** (off-audience → `/founders`, D-RH-2), **for-legacy** (off-audience → `/legacy`, D-RH-2). New arc: `Hero → WhatWeBuild → HowWeWork → Services → NowBuilding → FounderNote → TheNetworkAndCommunity → [LabPreview] → ClosingCTA` (8 visible + conditional LabPreview).

- **Retained** (D-HTN-6/7 precedent): the four component files + their i18n keys (all locales, parity unchanged), plus operating-model's children (`operating-model-diagram`, `operating-model-proof`) and the now-uncalled `/api/operating-model/stats` route. Orphaned-but-harmless; reversible. **Cleanup-debt** logged for a dedicated future change (strip components + keys + dead route together; this is the 2nd such deferral after WhoWeWorkWith/BuildOnPlatform).
- **Reachability:** `/founders` + `/legacy` (own `page.tsx`, don't import these components) carry the audiences; nav "For founders" (→ `ROUTES.founders`) + footer "Legacy" (→ `/legacy`) unchanged. No dangling anchors (verified: the removed `#…` ids are referenced only by the components' own isolation tests, which stay green).
- **Safety of operating-model's live widget:** structural, not "it doesn't fetch" — `OperatingModelProof` (server fetch to `/api/operating-model/stats`, hourly) is retained and simply no longer mounted; the route stays live but uncalled. Nothing deleted, no import breaks.

### D-RH-17 — P3 ModulorPattern retired

P3 (`<ModulorPattern>`, lived only in `for-legacy.tsx`) leaves with the block → home pattern budget **1/1 (P4 hatch at closing-cta only)**. **Not relocated** — the structural audit found for-legacy its only viable host (lowest density, largest padding); forcing it elsewhere violates that reasoning. If the shorter scroll reads visually bare without it, flag for Pavel (do not silently relocate).

### Capability amendments

`blocks.md` gets a `### Declutter scroll` subsection; `flows.md` gets a `## Declutter scroll` arc amendment (new arc + block count 12→8). In-place blocks untouched (hard rule 7).

---

## Plain-language pass (RAP-1291)

Change 1 of the post-critique series. A **de-jargon copy pass** on the existing owner scroll, prompted by external critique (the "two voices" doc — Operator vs Architect: jargon kills trust on the front door). **Decision-independent** — true under any resolution of the open positioning fork — so it ships before that decision. Scope: i18n copy in four home targets (`whatWeBuild`, `howWeWork`, `services.intro`, `meta.description`) across all three locales + two JSX removals in `what-we-build.tsx`. **No** re-sequencing, founder-note, data-model, or new pages (those are Phase 2).

### D-RH-18 — Retire the orchestra framing (text + visual); plain owner-outcome copy on the front door

**Reverses D-RH-9 / #1946.** The orchestra/conductor metaphor read as poetic-for-Pavel, not clear-for-owner (critique 4/10). Recorded honestly as a reversal of a recent decision.

- **what-we-build:** heading/lede/supporting/trustAuthorship/pullQuote rewritten to plain outcome language (a set of agents per task; each reports back; you keep the whole system with its documentation). The `OrchestraDiagram` **visual is removed in this PR** (not just the text) — keeping an orchestra picture beside plain prose is incoherent; redesigning it would exceed a copy pass, so it is removed, not reworked (Pavel's call). `whatWeBuild.diagram.*` keys deleted; the shared `OrchestraDiagram` component is **kept** (second consumer: `legacy-how-we-work.tsx`). The OpenSpec/GitHub proof link is removed (`<a>` + `trustAuthorshipLink`/`…Href`) — **relocation**, not deletion: `/openspec` + the closing-CTA OpenSpec link remain interim proof; the canonical home is a future "how it works inside" door (Phase 2).
- **how-we-work:** `продакшен`/`spec` de-jargoned. The RU/EN repo-write contradiction (RU "studio does not write code" vs EN "bot writes PRs") is resolved in plain, **control-framed** language — *we prepare the changes; only your team applies them; outside specialists have no access to your working systems* — no `PR`/`repo`/`merge` jargon. The fact (studio prepares code; the client's team approves/applies) is preserved; the framing reads as owner control, not intrusion. The security clause is gated on a pre-merge confirmation that it is unconditionally true across engagements.
- **services.intro:** drop `AI-нативная`/`AI-native`; routine clause → "agents take on the repetitive work, while decisions stay with people" (anti-replacement reassurance — the critique's strongest reframe).
- **meta.description:** `AI-нативный слой доставки` → "технологии работают на людей, а не вместо них"; `meta.title` untouched.

EN/RO AI-drafted, pending native review (RU verbatim).

**Deferred (logged):** `/founders` keeps "AI-native platforms" (old `home.hero.eyebrow`, technical audience — conscious deferral, not a forgotten gap); operatingModel jargon (not on the home scroll, D-RH-16); home footer «AI-оркестрацией»; closing-CTA OpenSpec link; `/services` page metadata. Meta vs the eventual canonical positioning phrasing ("технологии служат людям…") to be aligned in Phase 2. The rendered home hero is `HeroC` (`web.home.heroC`) — already eyebrow-free and jargon-free; verified, no edit needed.

### Capability amendments (plain-language pass)

`blocks.md` gets a `### Plain-language pass` subsection. In-place blocks untouched (hard rule 7).

---

## Phase 2 — reposition (spine A)

Phase 1 was subtractive (removed jargon). Phase 2 **repositions** — it embodies the
resolved positioning fork. Unlike Phase 1, Phase 2 is **NOT decision-independent**. It
changes page composition, not just copy, so it ships as bounded changes **A–H**, each its
own PR, A first. Lineage: external "two voices" critique (Operator vs Architect) + the
per-section live-site review.

### D-RH-19 — Positioning spine = A (person + outcome lead)

Lead with the **person** (Pavel — story, judgment, trust) **plus the outcome** (growth
through structure). AI and agents are the **"how,"** shown *after* trust is established —
not the headline. Pure "personality" without a concrete outcome is weak, so spine A is
explicitly *person + result*, not person in the abstract. Rejected spines: outcome-only
(reads as any agency) and AI-first (the jargon-forward framing Phase 1 just removed).

### D-RH-20 — Home single primary audience = the stalled owner

The home addresses **one** audience: the owner-led, mid-size, mission-driven business
whose growth has stalled. Specialists, founders, and community move to their own doors
(`/specialists`, `/founders`, the network page) — off the home scroll. The
"team-under-brief" client signal is not lost: it already lives in How-we-work step 3
(«Собираем точную команду под вашу задачу»).

### D-RH-21 — Home is services-led; ventures = proof

The studio's own ventures (Senzo / VIVOD / Dentour) appear on the home as **proof** (real
metrics/progress), not as a "venture-studio" frame. The offer is services; the ventures
are evidence the method works.

### D-RH-22 — New home block sequence

`Hero → Services(pain «Из беспорядка») → FounderNote(trust) → NowBuilding(proof) → HowWeWork → WhatWeBuild(agents) → ClosingCTA`.
Three structural moves vs the D-RH-16 arc: **pain ↑** (Services 4→2), **founder ↑**
(FounderNote 6→3), **agents ↓** (WhatWeBuild 2→6, shown after trust). Removed from the
scroll: **TheNetworkAndCommunity** (`spc` audience → its own door, D-RH-20) and
**LabPreview** (single-audience focus; conscious scope addition beyond the original
spec, confirmed with Pavel). Component files + standalone pages retained. The OpenSpec
"how it works inside" door (former orchestra depth) relocates in Change D.

### D-RH-23 — New hero copy (Change A)

`HeroC` (`web.home.heroC`) gains a bare-name **eyebrow** «Павел Рапопорт» (person leads;
role context carried by the positioning line below it — D-RH-19), a first-person
**positioning** line («Помогаю расти бизнесам… технологии служат людям, а не заменяют
их»), and `subhead` is renamed **`riskReversal`** with tighter first-person copy
(«Начинаю с диагностики, а не с прайс-листа — и с малого проверяемого шага»). The 3-line
«мы» heading lockup and the primary Telegram CTA are unchanged. The **secondary CTA** is
re-pointed `#what`→`#services` and relabelled «Что мы строим →»→«С чего мы начинаем →» so
it drops the visitor **into** the trust arc (the pain block) rather than skipping to the
demoted agents block. **Voice:** heading in «мы» (the work is a team), sub-lines in «я»
(Pavel is the face) — deliberate "studio with a face"; fully-first-person heading is an
open option not taken. EN/RO AI-drafted, pending native review.

### Capability amendments (Phase 2 / Change A)

`blocks.md` gets a `### Phase 2 — reposition (spine A)` subsection; `flows.md` gets a
`## Phase 2 — reposition (spine A)` arc amendment (new arc + block count 8→6 visible;
audience now `clt`-only after TheNetworkAndCommunity's removal). In-place blocks untouched
(hard rule 7).

### D-RH-24 — Founder block rewritten as the spine-A trust anchor (Change B)

Change A moved `FounderNote` to **position 3** (the trust anchor, after the pain block) with
its **interim** copy, which ended inward («…я забочусь о них — они обо мне», about the team)
and didn't do spine A's job there. Change B rewrites it **client-facing**: story → why I can
solve your *stalled growth* → human-first values, ending facing the client. Heading `eyebrow`
«От основателя» → **«Кто я»** (EN «Who I am», RO «Cine sunt»; confirmed with Pavel). The single
`body` key is split into **`body1`/`body2`/`body3`** (three paragraphs; the component renders
three `<p>` in an inner `gap-4` wrapper). `name`, the Telegram CTA, and the portrait are
unchanged; the block does **not** move (position fixed in Change A). Supersedes the Change-A
interim copy.

**RO register = «tu».** The entire live RO site is informal «tu» (hero «afacerea ta… împreună
cu tine», 0 formal «dumneavoastră»); Change B's RO stays «tu» for internal consistency. The
RU(formal «вы»)↔RO(informal «tu») divergence is **pre-existing and site-wide** — logged as a
separate RO-register decision, not resolved here (formalizing one block in isolation is worse
than the cross-locale difference). EN/RO AI-drafted, pending native review.

### D-RH-25 — Canonical anti-replacement phrasing (Change G)

The canonical anti-replacement phrase is **«технологии служат людям, а не заменяют их»** (EN
«technology that serves people, not replaces them» / RO «tehnologia care servește oamenii, nu
îi înlocuiește») — verbatim from the live Change-A hero positioning line. `web.home.meta.description`
aligns to it; the Phase-1 wording «технологии работают на людей, а не вместо них» is retired
(it lived only in the meta). Also standardises the migration-block ownership line
(`web.home.services.trust`) on «её описание» (not «спецификация»), matching the Phase-1
what-we-build wording. i18n-only; 2 keys × 3 locales. Off-home `spec`-word occurrences
(`hero.sub`, `connectedStack.*`, `operatingModel.*`) are out of scope (Change E / not on the
home scroll).

### D-RH-27 — Canonical RO register = formal «dumneavoastră» (site-wide)

The canonical Romanian register is **formal «dumneavoastră»** (matches RU formal «вы» + the RO
B2B norm for addressing a business owner). **Supersedes the Change-B interim decision to keep
«tu».** Change G writes its two RO strings formal immediately (`afacerea ta`→`afacerea
dumneavoastră`; `închizi`→`închideți`; `ale tale`→`ale dumneavoastră`). The rest of the live RO
«tu» copy (heroC, founder/Change-B, services intro/mechanism/examples, the old `hero` block,
etc.) is flipped in a **separate site-wide RO-formalization pass** (tracked in the index). All
new RO drafts go formal from here on. EN/RO AI-drafted, pending native review.

### D-RH-28 — `/services` listing page rewritten RU-first, de-jargoned, spine-A (RAP-1295)

The `/services` **listing** page (`apps/web/src/app/[locale]/(marketing)/services/page.tsx`)
is brought to **RU-first + plain language + spine-A voice**, coherent with the D-RH-26 labels
and the home vocabulary («её описание», "мы готовим — ваша команда применяет",
control-stays-with-people). Embodies spine A → **NOT decision-independent.** Copy + the shared
marketing OG asset only; **IA, structure, sections, and routes are unchanged** — a rewrite, not
a redesign.

- **H1** «Spec + Brand — как мы работаем» → «С чего начать — зависит от того, где вы сейчас».
- **Where-to-start router** was three **hardcoded English** prompts + an English `Where to
  start?` headline rendered on every locale; now localised via new keys
  `web.services.router.{headline,discovery,migration,platform}` (added identically across all
  three locales — parity holds), passed from the server page into the client
  `ServicesDecisionRouter` as props. Router targets (`discovery`/`migration`/`platform`)
  unchanged.
- **Five cards** keep their slugs; `title` adopts the **D-RH-26** labels (Диагностика роста /
  Переход на новую систему / Сборка под задачу / Платформа под бизнес / Сопровождение по
  подписке — applied here pending Change H, which may reuse them); `meta` + `lede` + all
  fourteen `shapes.*.{title,one_liner}` rewritten plain, jargon stripped (no `AI-native`,
  `OpenSpec triplet`, `spec-driven`, `Builder…pull request`, `слой оркестровки`,
  `Stewardship`, `on-call`). The stale `discovery.cta` Discovery name is fixed in passing.
- **Shared marketing OG asset** (`(marketing)/opengraph-image.tsx`) `alt` + rendered subtitle
  de-jargoned («AI-native platforms» → «платформы под бизнес»); it covers all marketing routes
  (home/founders/method), so the home OG stops contradicting the repositioned home. The
  `localhost:3000` og:image the brief flagged is **not** a prod misconfig — `.env.production`
  sets `NEXT_PUBLIC_SITE_URL` and `resolveCanonicalBaseUrl()` never falls back to localhost; no
  metadataBase change needed.

The five individual `/services/<slug>` detail pages (still English bodies; `body` / `tagline`
/ `dontTakeShared` i18n keys, JSON-LD, per-page metadata) are **deferred to a separate, larger
follow-on** — out of scope here. EN de-jargoned to plain owner-facing English; RO drafted
formal «dumneavoastră» (D-RH-27). EN/RO AI-drafted, pending native review (incl. the four
derived RU `meta` lines and the EN/RO service-label equivalents).

### D-RH-26 — Canonical service labels + primary-nav rename (RAP-1296)

The five engagement services get **canonical RU labels**, replacing the English package names
(`Discovery / Migration / Modular / Platform / Subscription`):

| slug | label |
|---|---|
| `discovery` | Диагностика роста |
| `migration` | Переход на новую систему |
| `modular` | Сборка под задачу |
| `platform` | Платформа под бизнес |
| `subscription` | Сопровождение по подписке |

These labels are the single source applied in **both** the `/services` listing card titles
(RAP-1295, D-RH-28) and the **primary-nav «Услуги» dropdown** (this change). Change H rewrites
the dropdown copy via `common.nav.*` **values only** (no keys added/removed → i18n parity
holds; nav structure in `nav-config.ts` and the `nav.tsx` renderer are keys + hrefs, untouched;
nav tests mock the translator, so they are unaffected): the five item labels adopt the table
above; their `*Sub` one-liners go plain RU with the price/package framing dropped (`€5k fixed`,
`€50k floor`, `6-month minimum`, `Spec-driven`, `architecture diligence` removed — matching the
home, which dropped price/package language); `servicesOverviewSub` and the `featured.services`
Platform card are de-jargoned (its `href` = `/services/platform` unchanged). **Hrefs, IA, the
top-level trigger labels, the «О нас»/About section + `featured.about`, and the `founders` /
`specialists` («/for») items are unchanged.** The five `/services/<slug>` detail pages are the
deferred follow-on. EN de-jargoned; RO formal «dumneavoastră» (D-RH-27); AI-drafted, native
review pending.

The nav `common.nav.*` labels and the page `web.services.<slug>.title` labels now both carry
these strings in two places (minor drift risk); unifying them onto a single source is a separate
refactor, deferred.
