diff --git a/.roo/memory-bank/activeContext.md b/.roo/memory-bank/activeContext.md
index cadd07c..96ed86a 100644
--- a/.roo/memory-bank/activeContext.md
+++ b/.roo/memory-bank/activeContext.md
@@ -2,11 +2,24 @@
## Task State
-- task_id: TASK-F1 (PARENT)
-- status: success (CLOSED)
+- task_id: TASK-LINK1
+- status: success
- parent_task: —
-- summary: **Галерея фото тренировки + загрузка/удаление + маркеры фото на Yandex-карте (components/WorkoutItem.vue).** npm run build exit 0 (vue-tsc + vite), npm run lint exit 0.
-- next task: create a NEW task_id when starting the next feature.
+- summary: **FIX: секция «Ссылки на описание» в components/WorkoutItem.vue — кнопка «Добавить» видна на публичной странице (isPrivate=false), но не работает (модалка скрыта v-if="isPrivate"). Правило: нет ссылки + нет прав → секция полностью скрыта.**
+- next task: after Coder returns — review and close.
+
+## TASK-LINK1 — TODO (delegate to Coder)
+
+- [x] `src/pages/workouts/components/WorkoutItem.vue`, секция «Ссылки на описание» (~строка 183): добавить `v-if="dzenLink || isPrivate"` на внешний `div.workout-item-params` секции. Внутренняя логика без изменений: `v-if="dzenLink"` → `Дзен` + `VaIcon edit v-if="isPrivate"`; `v-else` → «Добавить» (теперь достижим только при isPrivate, т.к. секция скрыта иначе).
+- [x] Файлы трогать ДРУГИЕ НЕЛЬЗЯ: только `src/pages/workouts/components/WorkoutItem.vue`.
+- [x] Acceptance: `yarn lint` exit 0, `yarn build` exit 0. Поведение: публичная страница без ссылки → секции нет вообще; публичная со ссылкой → видна ссылка «Дзен» без иконки edit; приватная без ссылки → «Добавить» (открывает модалку, PATCH работает); приватная со ссылкой → «Дзен» + иконка edit.
+
+## ✅ CODER SUCCESS REPORT — TASK-LINK1
+
+- Изменен файл (единственный): `src/pages/workouts/components/WorkoutItem.vue` — одна строка: на внешний `div.workout-item-params` секции «Ссылки на описание» (стр. 183) добавлен `v-if="dzenLink || isPrivate"`. Внутренняя логика секции не тронута.
+- Поведение после фикса: публичная страница без ссылки → секция полностью скрыта; публичная со ссылкой → только «Дзен» (иконка edit уже была `v-if="isPrivate"`); приватная без ссылки → «Добавить» (модалка `v-if="isPrivate"` доступна, PATCH работает); приватная со ссылкой → «Дзен» + иконка edit.
+- `yarn lint`: exit 0 (prettier: файлы без изменений, eslint 0 ошибок).
+- `yarn build`: exit 0 (`vue-tsc --noEmit` 0 ошибок, `vite build` ✓ built in 5.41s; warning о chunk >500kB — предсуществующий).
## TASK-F1 — TODO
diff --git a/.roo/memory-bank/progress.md b/.roo/memory-bank/progress.md
index 41d30f8..837e663 100644
--- a/.roo/memory-bank/progress.md
+++ b/.roo/memory-bank/progress.md
@@ -114,3 +114,8 @@
- Same file: `#workout-photos` section under the map/short-data container — grid of `` (auto-fill 160px, 120px cover), «Добавить фото» (`v-if="isPrivate"`, hidden `input[type=file] accept="image/*" multiple`, `axiosAuth.post` multipart field `file`, `Promise.allSettled`, success → push to `photos` + toast, partial failure → error toast, VaButton `:loading`), per-photo «Удалить» (`v-if="isPrivate"`, `axiosAuth.delete` → filter from `photos`, error toast). `isPrivate` added to `defineProps` destructure. Styles: `.workout-photos-*` block.
- `WorkoutListItem.vue` untouched (per scope).
- Verified: `npm run build` exit 0 (vue-tsc --noEmit 0 errors, vite `✓ built in 11.71s`; pre-existing >500kB chunk warning), `npm run lint` exit 0 (prettier reformatted the component, eslint 0 errors).
+
+### 2026-09-17 — TASK-LINK1: «Ссылки на описание» скрыта на публичной странице без ссылки (uncommitted)
+
+- `src/pages/workouts/components/WorkoutItem.vue` (единственный файл, 1 строка): на внешний `div.workout-item-params` секции «Ссылки на описание» добавлен `v-if="dzenLink || isPrivate"`. Поведение: публичная без ссылки → секция скрыта; публичная со ссылкой → только «Дзен»; приватная без ссылки → «Добавить» (модалка доступна); приватная со ссылкой → «Дзен» + иконка edit. Внутренняя логика секции не тронута.
+- Verified: `yarn lint` exit 0, `yarn build` exit 0 (vue-tsc --noEmit 0 ошибок, vite `✓ built in 5.41s`; pre-existing >500kB chunk warning).
diff --git a/src/pages/workouts/components/WorkoutItem.vue b/src/pages/workouts/components/WorkoutItem.vue
index 70896e6..10cd2fb 100644
--- a/src/pages/workouts/components/WorkoutItem.vue
+++ b/src/pages/workouts/components/WorkoutItem.vue
@@ -180,7 +180,7 @@
v-on:change="changePublic(workoutItem.is_public)"
/>
-