---
type: adr
work_item_id: ET-008
adr_id: ADR-011
title: "ADR-011: Источник Тропинки.ру / ttrails.ru — БЛОКИРОВАН до завершения ToS/robots-ревью; pipeline пропускает source до перехода status=accepted"
status: proposed
created_at: 2026-06-01
authors:
  - "agent:architect"
supersedes: []
superseded_by: []
labels:
  - "ET-008:source-licensing"
  - "blocking"
---

# ADR-011 — ttrails.ru (Тропинки.ру): licensing review (БЛОКИРУЮЩИЙ)

## Статус

**Proposed** — заблокирован до полного review.

> Pipeline (`scripts/gps_collect.py`) при загрузке `ttrails` parser **проверяет** этот ADR. Пока `status: proposed` — source пропускается с записью `pipeline_runs.status = "skipped_license"`. См. ADR-007 §6 — licensing guard.

## Контекст

Источник `ttrails.ru` (Тропинки.ру, эндуро-категория) — публичная платформа с GPX-загрузками без авторизации (BRD §4 #3). Структурно повторяет случай EnduroRussia.ru (ADR-010): не имеет документированного API, доступ через HTML-страницы + ссылки на GPX-файлы.

Принципы и чеклист — те же, что в ADR-010. Здесь — только специфика ttrails.

## Чеклист по BRD §4

### 1. ToS источника по поводу скрейпинга / массовой загрузки

**ОТКРЫТО.** Аналогично ADR-010 §1:
- Найти и архивировать ToS платформы (`ttrails.ru/about`, `/agreement` или эквивалент).
- При отсутствии разрешения — связаться с администратором, получить письменный ответ.

### 2. robots.txt

**ОТКРЫТО.** Прочитать `https://ttrails.ru/robots.txt`, зафиксировать выписку.

### 3. Условия публикации чужих треков

**ОТКРЫТО.** Установить лицензию user-generated content. Default — пока не подтверждено иное:
- Сохраняем только обезличенные поля (геометрия, length, points_count, activity_type, created_at если публично доступна).
- Не сохраняем `user`, `name`, `description`.

### 4. Rate-limit

Предварительная установка:
- `rate_limit_sec: 5` (консервативно).
- Per-source максимум на прогон — 1000 треков.
- User-Agent: `enduro-trails/1.0 (+https://openclaw.mva154.duckdns.org/enduro/)`.
- Backoff на 429/503 — exponential 2^n, 3 попытки.

### 5. Метаданные, запрещённые к сохранению

Default — как ADR-010 §5. Пересмотр после §3 review.

### 6. Удаление по требованию автора

- `external_url` + `external_id` сохраняются → точечное удаление по запросу автора.
- Stale-GC — отдельный work item.

### 7. Решение licensing

**Текущее: proposed (БЛОКИРОВАН).** Source `ttrails` в `gps_sources.yaml` остаётся `enabled: false` или отсутствует.

**Critical path для разблокировки:** см. ADR-010 §7.

## Решение (до review)

Source `ttrails` в `gps_sources.yaml` присутствует с `enabled: false`. Parser-модуль `src/api/gps_tracks/sources/ttrails.py` разрабатывается и тестируется (TRZ REQ-F-06), но не активен.

## Последствия

См. ADR-010 §«Последствия». Идентичная логика.

## Классификация изменения

**Minor change** на уровне ADR; **blocking** на уровне MVP-метрики «≥ 3 источника» (вместе с ADR-010).

## Связанные документы

- `docs/work-items/ET-008/01-brd.md` §4 «Юридический минимум»
- `docs/work-items/ET-008/02-trz.md` REQ-F-06
- `docs/work-items/ET-008/06-adr/ADR-007-pipeline-architecture.md` §6 (licensing guard)
- `docs/work-items/ET-008/06-adr/ADR-009-osm-licensing.md` (паттерн ADR licensing accepted)
- `docs/work-items/ET-008/06-adr/ADR-010-enduro-russia-licensing.md` (одно-к-одному паттерн)
- `docs/work-items/ET-008/10-tech-risks.md` R-9
