Make the sandbox copy leave secrets and binaries behind, and say what a filled tmp does to a battery
This commit is contained in:
parent
e342d51bcc
commit
1dccf55e39
2 changed files with 9 additions and 5 deletions
|
|
@ -159,8 +159,11 @@
|
|||
гейта молча. Состав ВЫВОДИТСЯ из каталога (префикс id, поле — форму выбери сам), а не перечисляется;
|
||||
- **`expect: "survives"` — штатная дверь для подгонки**: мутант объявляется «аргументированно выжившим», и
|
||||
цель зелена. Для записей ЭТОГО пака `survives` запрещён — это ровно мотив, запрещённый `D39.183`;
|
||||
- **копировать надо РАБОЧЕЕ дерево** (`cp -a`), а не `git archive HEAD`: иначе гейт судит HEAD и твоих
|
||||
новых пинов не видит. И убирай копию за собой на падении тоже, иначе `/tmp` копится;
|
||||
- **копировать надо РАБОЧЕЕ дерево**, а не `git archive HEAD`: иначе гейт судит HEAD и твоих новых пинов
|
||||
не видит. ⛔ **Но НЕ `cp -a`, и это не вкусовщина:** он тащит в `/tmp` секреты (`.env`) и бинари, а в
|
||||
существующий каталог ещё и ВКЛАДЫВАЕТ вместо замены. Форма — `d=$(mktemp -d) && tar -cf - --exclude=./bin --exclude='./.env*' -C backend . | tar -xf - -C "$d"`, работа в `$d`, `rm -rf "$d"` в конце И на падении
|
||||
(замер 07.09: копия 6.8 МБ вместо 17, секретов 0 при 12 элементах верхнего уровня, `go build ./...`
|
||||
проходит). Забитый `/tmp` красит батарею `no space left on device` — красное, неотличимое от дефекта кода;
|
||||
- **`Package` записи каталога — это пакет ПИНА, а не пакет правки.** Инструмент гоняет ОДИН пакет. Правка
|
||||
M5 живёт в `internal/chunk`, а утверждение реконструкции — в `internal/pipeline`: запись с чужим пакетом
|
||||
честно скажет SURVIVED, ничего не проверив. Для каждой новой записи назови пакет, где живёт утверждение;
|
||||
|
|
@ -315,8 +318,9 @@ value-default, на который ссылаются `checks/sanitizer.go:21`
|
|||
1. **Каждая новая гарантия предъявляется МУТАЦИЕЙ.** Для каждого утверждения, которое ты добавил: посади
|
||||
правку, ломающую именно его, и покажи КРАСНОТУ **с текстом падения**. ⛔ Текст читается: говорит ли он
|
||||
про сломанное тобой. Правый вердикт по неправой причине — дыра, а не поимка.
|
||||
2. **Мутации гоняются ТОЛЬКО на копии дерева** (`cp -a backend <копия>`, `-root <копия>`). Рабочее дерево
|
||||
не правится никогда, в том числе «на секунду».
|
||||
2. **Мутации гоняются ТОЛЬКО на копии дерева**, и копия делается БЕЗ секретов и бинарей, в УНИКАЛЬНЫЙ
|
||||
путь, с уборкой за собой: `d=$(mktemp -d) && tar -cf - --exclude=./bin --exclude='./.env*' -C backend . | tar -xf - -C "$d"`, работа в `$d`, `rm -rf "$d"` в конце И на падении, затем `-root "$d"`.
|
||||
Рабочее дерево не правится никогда, в том числе «на секунду».
|
||||
3. **Мутируй и СВОИ новые фикстуры**, не только боевой код: фикстура, которую ты только что написал и
|
||||
считаешь сильной, — типовое место, где прячется второе вырождение (`D39.208` п.5).
|
||||
4. **BASELINE НА ВХОДЕ, снят оркестратором 07.09 на `4d0b68e`** — чтобы ты отличал СВОЮ поломку от
|
||||
|
|
|
|||
|
|
@ -228,7 +228,7 @@ D23.3). Владельцу на решение: деньги сверх мело
|
|||
|
||||
### Запускаешь панель/субагентов?
|
||||
|
||||
Изоляция жёстко (D39.113): свой каталог песочницы КАЖДОМУ агенту · ⛔ **верификатору, судящему НАЗВАННЫЙ КОММИТ, выдаётся ГОТОВЫЙ ПУТЬ отдельного рабочего дерева — `git worktree add <путь> <коммит>`, а не только запрет ниже** (внесено 05.09, `D39.202` п.8: запрет СТОЯЛ и не сработал на 22 агентах приёмки — общее дерево отцепилось на судимый коммит, следующий коммит оркестратора ушёл мимо ветки, и заметила это ЧУЖАЯ зона) · запрет state-changing git
|
||||
Изоляция жёстко (D39.113): свой каталог песочницы КАЖДОМУ агенту · ⛔ **копия модуля — БЕЗ секретов и бинарей, в УНИКАЛЬНЫЙ путь, с уборкой за собой** (`tar --exclude=./bin --exclude='./.env*'`, не `cp -a`: он тащит `.env` в `/tmp` и в существующий каталог ВКЛАДЫВАЕТ вместо замены; забитый `/tmp` красит батарею `no space left on device` — красное, неотличимое от дефекта кода) · ⛔ **верификатору, судящему НАЗВАННЫЙ КОММИТ, выдаётся ГОТОВЫЙ ПУТЬ отдельного рабочего дерева — `git worktree add <путь> <коммит>`, а не только запрет ниже** (внесено 05.09, `D39.202` п.8: запрет СТОЯЛ и не сработал на 22 агентах приёмки — общее дерево отцепилось на судимый коммит, следующий коммит оркестратора ушёл мимо ветки, и заметила это ЧУЖАЯ зона) · запрет state-changing git
|
||||
ПЕРЕЧИСЛЕНИЕМ (`reset` · `checkout` · `restore` · `clean` · `stash` · `add` · `commit` · `rebase` ·
|
||||
`push`) · бэкап чужого незакоммиченного ДО запуска (`git diff > файл` вне репо + копии untracked) ·
|
||||
мандат чисто читающий; «работай в копии» без выданного пути = приглашение к инциденту.
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue