install.sh ставит allow-правила цикла фичи (--no-permissions для отказа), пересмотр решения владельца 2 #24

Closed
opened 2026-10-23 22:48:23 +03:00 by aep · 1 comment
Owner

Bounded, дизайн утверждён в чате 23.10.2026. Пересматривает решение владельца 2 (ретро 11.10.2026, раздел 5). Было: «строку allow-правила для git push origin --delete владелец добавляет сам». Стало: правила цикла фичи ставит install.sh в ~/.claude/settings.json, отказ — флаг --no-permissions.

Почему: без allow-правил каждый шаг цикла требует подтверждения (в обычном режиме) или упирается в классификатор auto mode (деструктивные git-операции, RT-3) — tea issues/pulls create/comments, push фичевой ветки, удаление веток; вход в worktree — отдельно, #25. Пока правила добавлялись разовым скриптом руками на этой машине.

Сделать:

  • global/permissions.json — список allow-правил обвязки. В нём: Bash(git worktree:*), Bash(git branch -m:*), Bash(git branch -D:*), Bash(git push -u origin feat/:*), Bash(git push -u origin chore/:*), Bash(git push origin --delete:*), Bash(tea issues:*), Bash(tea pulls create:*), Bash(tea pulls list:*), Bash(tea pulls edit:*), Bash(tea comments:*). Не входят tea pulls merge и push в main.
  • install.sh: дописать недостающие правила в permissions.allow файла settings.json, чужие правила не трогать и не удалять; напечатать, что добавлено. --no-permissions пропускает шаг. --check показывает состояние.
  • doctor.sh, раздел «Машина»: ok permissions обвязки: N/N или WARN со списком недостающих правил.
  • adopt-project.sh и new-project.sh: строку push --delete оставить с пометкой «если обвязка ставилась с --no-permissions».
  • EnterWorktree/ExitWorktree и additionalDirectories в обвязку не входят: вход в worktree вне .claude/worktrees/ спрашивает подтверждение при любых allow-правилах (см. #25), ExitWorktree подтверждения не требует.
  • Тесты: test-install — правила добавлены, повторный запуск без дублей, чужие правила и hooks сохранены, --no-permissions; test-doctor — ok и WARN.
  • Docs: README, HARNESS.md (рецепт п. 4), roles/dev.md (п. 4), SKILL.md, CHANGELOG 0.5.0, CLAUDE.md.

После merge bash install.sh запускает владелец: агент не выдаёт себе права (отказ классификатора auto mode «Self-Modification»).

Bounded, дизайн утверждён в чате 23.10.2026. Пересматривает решение владельца 2 (ретро 11.10.2026, раздел 5). Было: «строку allow-правила для `git push origin --delete` владелец добавляет сам». Стало: правила цикла фичи ставит `install.sh` в `~/.claude/settings.json`, отказ — флаг `--no-permissions`. Почему: без allow-правил каждый шаг цикла требует подтверждения (в обычном режиме) или упирается в классификатор auto mode (деструктивные git-операции, RT-3) — `tea issues/pulls create/comments`, push фичевой ветки, удаление веток; вход в worktree — отдельно, #25. Пока правила добавлялись разовым скриптом руками на этой машине. Сделать: - [x] `global/permissions.json` — список allow-правил обвязки. В нём: `Bash(git worktree:*)`, `Bash(git branch -m:*)`, `Bash(git branch -D:*)`, `Bash(git push -u origin feat/:*)`, `Bash(git push -u origin chore/:*)`, `Bash(git push origin --delete:*)`, `Bash(tea issues:*)`, `Bash(tea pulls create:*)`, `Bash(tea pulls list:*)`, `Bash(tea pulls edit:*)`, `Bash(tea comments:*)`. Не входят `tea pulls merge` и push в main. - [x] `install.sh`: дописать недостающие правила в `permissions.allow` файла `settings.json`, чужие правила не трогать и не удалять; напечатать, что добавлено. `--no-permissions` пропускает шаг. `--check` показывает состояние. - [x] `doctor.sh`, раздел «Машина»: `ok permissions обвязки: N/N` или `WARN` со списком недостающих правил. - [x] `adopt-project.sh` и `new-project.sh`: строку `push --delete` оставить с пометкой «если обвязка ставилась с `--no-permissions`». - [x] `EnterWorktree`/`ExitWorktree` и `additionalDirectories` в обвязку не входят: вход в worktree вне `.claude/worktrees/` спрашивает подтверждение при любых allow-правилах (см. #25), `ExitWorktree` подтверждения не требует. - [x] Тесты: `test-install` — правила добавлены, повторный запуск без дублей, чужие правила и `hooks` сохранены, `--no-permissions`; `test-doctor` — ok и WARN. - [x] Docs: README, `HARNESS.md` (рецепт п. 4), `roles/dev.md` (п. 4), `SKILL.md`, CHANGELOG 0.5.0, `CLAUDE.md`. После merge `bash install.sh` запускает владелец: агент не выдаёт себе права (отказ классификатора auto mode «Self-Modification»).
aep closed this issue 2026-10-23 23:04:34 +03:00
Author
Owner

Закрыто PR #26 (merge 04369f1, 0.5.0): все пункты — 897fa0f. Попутно O-14 (EnterWorktree/additionalDirectories не снимают запрос — в список не вошли, перенос worktree — #25) и O-15 (install.sh игнорировал неизвестные аргументы) — fixed 897fa0f. Отложенного нет, follow-up issue не нужна.

Закрыто PR #26 (merge 04369f1, 0.5.0): все пункты — 897fa0f. Попутно O-14 (EnterWorktree/additionalDirectories не снимают запрос — в список не вошли, перенос worktree — #25) и O-15 (install.sh игнорировал неизвестные аргументы) — fixed 897fa0f. Отложенного нет, follow-up issue не нужна.
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: aep/claude-harness#24
No description provided.