Сделайте среду воспроизводимой до автономности
Агент не исправит отсутствующий runtime, несуществующую команду и скрытую локальную зависимость. Чем автономнее запуск, тем точнее должны быть setup, lockfile, working directory, env и cleanup. В companion-проекте это начинается с проверенного manifest.
{
"name": "coding-agents-automation-2026-project",
"version": "1.0.0",
"private": true,
"type": "module",
"engines": {
"node": ">=24.0.0"
},
"scripts": {
"build": "tsc -p tsconfig.json",
"typecheck": "tsc -p tsconfig.json --noEmit",
"test": "node --import tsx --test tests/*.test.ts",
"demo": "node --import tsx src/demo.ts",
"check": "npm run typecheck && npm test && npm run demo"
},
"devDependencies": {
"@types/node": "26.1.2",
"tsx": "4.23.1",
"typescript": "7.0.2"
}
}Минимальный environment contract фиксирует шесть вещей, и каждую можно проверить.
Элемент · Зафиксировать · Проверка
- Runtime - Версию Node, Python, Go или JDK;
node --versionили эквивалент - Dependencies - Lockfile и install command;
npm ci, не случайный global package - Commands - Focused test, typecheck, build, full check; Exit code и bounded output
- Environment - Имена необходимых variables без значений; Preflight с безопасным сообщением
- Services - Как поднять и остановить БД, browser, container; Health check и cleanup
- Workspace - Root, writable paths и temporary paths; Path containment test
Отдельно стоит развести два механизма, которые часто путают. Git worktree изолирует checkout и branch, но разделяет Git object database - он полезен против конфликтов параллельных edits. Container добавляет отдельные process, filesystem и network boundary - он полезен для воспроизводимой и ограниченной среды. Один механизм не заменяет другой.
Setup - это тоже код. Cursor документирует.cursor/worktrees.json, у Codex собственная поддержка worktrees и environments. Проверяйте setup command на чистом checkout и не копируйте настоящий.envавтоматически, если задаче не нужны его секреты.
И правило первого запуска.
Сначала чистый запуск. Перед передачей задачи агенту уберите зависимость от незафиксированных global tools: выполните install по lockfile, focused test и full check в новом checkout или temporary fixture. То, что "работает у меня", не работает у автономного агента.
Среда воспроизводима. Теперь можно вернуться к самой работе - и первый её этап на большой базе - исследование слоями.