install.sh ставит allow-правила цикла фичи, --no-permissions для отказа (#24, 0.5.0) #26
Loading…
x
Reference in New Issue
Block a user
No description provided.
Delete Branch "feat/24-harness-permissions"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes #24. Bounded: дизайн утверждён в чате 23.10.2026. Пересматривает решение владельца 2: раньше строку allow-правила владелец добавлял сам, теперь
install.shставит правила цикла фичи, а отказаться можно флагом--no-permissions.Что сделано
global/permissions.json— 11 allow-правил:git worktree,git branch -m,git branch -D;git push -u origin feat/…,git push -u origin chore/…,git push origin --delete;tea issues,tea pulls create/list/edit,tea comments.tea pulls mergeи push в main в список не входят: merge делается только по команде человека.install.sh:permissions.allowфайла~/.claude/settings.json, чужие правила не трогает, печатает, что добавил;~/.claude/harness/permissions.json;--no-permissionsпропускает шаг 5;--checkпоказываетpermissions обвязки: N/Mи недостающие правила.doctor.sh, раздел «Машина» — то же:ok/WARNсо списком /MISS. WARN проверкиpush --deleteв разделе «Проект» подсказываетbash install.sh.adopt-project.sh,new-project.sh— строкуpush --deleteпо-прежнему печатают, с пометкой «если обвязка ставилась с--no-permissions».harness-doctor
SKILL.md— сам агент запускает толькоinstall.sh --no-permissions. Права ставит владелец: иначе агент обошёл бы отказ классификатора auto mode («Self-Modification»).Docs:
install.shи флаг;HARNESS.md— рецепт п. 4 и абзац о подтверждениях;roles/dev.md, п. 4;CLAUDE.md;Проверка
bash tests/run.sh— passed 505, failed 0. Новые тесты (18), все сначала падали:test-install(13): файл есть и установлен; список прочитан и не пуст; все правила стоят по одному разу после двух установок; чужое правило сохранено; дублей нет; в списке нет merge, push в main иEnterWorktree;--checkok;--no-permissions— exit 0, правила пропущены, хуки ставятся,--checkпредупреждает;test-doctor(3): WARN, ok, MISS;test-workspace(1): пометка--no-permissionsв выводеadopt.install.sh --checkна этой машине выдаётWARN permissions обвязки: 9/11, нет: Bash(git push -u origin chore/:*) Bash(tea pulls edit:*). Это два правила, которых не было в разовом скрипте.Находки
EnterWorktreeиadditionalDirectories, но вход в worktree вне.claude/worktrees/спрашивает подтверждение при любых правилах (Claude Code ≥ 2.1.206, docs/worktrees)897fa0f(в список не вошло); перенос worktree — #25install.shмолча игнорировал неизвестные аргументы и делал полную установку897fa0fRulings I made
EnterWorktree/ExitWorktreeиadditionalDirectoriesв список не вошли: первое не снимает запрос,ExitWorktreeподтверждения не требует, путь к worktree свой у каждой машины. Цена: нет.git push -u origin chore/:*(архивные PR,chore/harness-init) иtea pulls edit:*(правка описания PR). Их не было в разовом скрипте. Цена: если «chore/» окажется лишним, оно разрешает push ветокchore/…без подтверждения.global/permissions.jsoninstall.shне уберёт его изsettings.json. Цена: устаревшие правила обвязки остаются, пока их не уберут руками.install.shтеперь ошибка. Цена: скрипт, который передавал лишний аргумент, перестанет работать.После merge
bash install.shзапускаете вы: агент права себе не выдаёт. Ожидаетсяsettings.json: permissions +2 (Bash(git push -u origin chore/:*), Bash(tea pulls edit:*)), затем--checkвыдаётok permissions обвязки: 11/11. ПравилаEnterWorktree/ExitWorktreeиadditionalDirectoriesиз разового скрипта вsettings.jsonничему не мешают. Убрать их можно руками,install.shих не трогает.🤖 Generated with Claude Code