---
name: e2e-prod-context-relay-pattern
description: "Правило e2e-тестирования — никакой интерактивности/кликов, реальные прод-данные только через ручной релей пользователя в изолированную песочницу"
metadata: 
  node_type: memory
  type: feedback
  originSessionId: 29b9ec9f-aea8-46d8-b389-abf4808b2ef9
  modified: 2026-07-30T06:19:49.060Z
---

При e2e-тестировании (начато на [[onec_testbench_skill]], применимо к любому
проекту) агент **не водит мышью/клавиатурой по GUI** — ни через Accessibility,
ни другими способами. Всё должно быть программно: детерминированные вызовы
(batch-режимы, API, парсеры), не интерактивная имитация пользователя.

Если для детальной проверки не хватает реальных данных (в дев-окружении
обычно только структура/конфигурация, без продовых записей), агент **не
подключается к проду напрямую и не просит для этого доступ**. Вместо этого:
1. агент формулирует ТОЧНЫЙ запрос (что именно нужно и в каком формате);
2. пользователь сам выполняет его в проде своими правами;
3. пользователь отдаёт результат агенту;
4. агент кладёт результат в изолированную ЛОКАЛЬНУЮ песочницу (не прод, не
   постоянное хранилище) и дальше работает с ним как с обычным файлом.

**Why:** пользователь прямо поправил после того, как я предложил дать
Claude.app разрешение Accessibility и кликами открыть форму 1С для сравнения
с HTML-рендером — «ты видимо задачку немного не понял». Задача — полное e2e
БЕЗ интерактивности и БЕЗ прямых подключений агента к доп. источникам;
реальный контекст тянется через пользователя как посредника.

**How to apply:** реализовано как `tools/context_relay.py` в скилле
`1c-testbench` (`request`/`ingest`/`list`, песочница `sandbox/{requests,data}`,
`.gitignore` на сами данные). Тот же паттерн — request → user выполняет →
ingest в локальную изолированную папку — стоит переиспользовать в ЛЮБОМ
будущем e2e-скилле, где агенту не хватает прод-данных, а не изобретать заново
доступ к БД/API прод-системы.
