docs(openspec): wiki-module — решения исполнителя Task 2 (#91)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
7ab031a064
commit
6b513e4001
@ -479,3 +479,19 @@ jira безвреден.
|
||||
26. `h_claim` принимает `last_call_at` как алиас `last_jira_call_at` (решение 3). Цена ошибки: нет.
|
||||
27. `_auth` для агента сравнивает токен со всеми агентами без раннего выхода (постоянное время). Цена ошибки: нет.
|
||||
28. `_tokens_v7`: нет `tokens` или уже есть `agents` — шаг пропускается (идемпотентность). Цена ошибки: нет.
|
||||
|
||||
Решения исполнителя Task 2 (2026-10-24):
|
||||
|
||||
29. `module_dir` создаёт каталог модуля (0700) только если его нет; права существующих каталогов выставляет `Hub` при
|
||||
старте (и `agent publish` для корня), а не `claim`. Цена ошибки: чужие права на каталогах агентов перезаписываются
|
||||
при старте.
|
||||
30. `Hub(release_dir=)` переименован в `release_root=`. Цена ошибки: нет (вызовов с kwarg не было).
|
||||
31. `GET /agent?module=` отвечает 404 `not_found` и для модуля без команд. Цена ошибки: клиент не отличает «нет
|
||||
модуля» от «нет агента».
|
||||
32. `Hub.agent_update` строится по `registry.agent_modules()`; для прочих имён — пустой словарь (`_no_update`).
|
||||
33. `queue.claim`: параметр `last_jira_call_at` переименован в `last_call_at`; тело HTTP принимает оба ключа.
|
||||
34. `migrate_layout` переносит файлы покадрово (agent.py, затем manifest.json), повторяется, пока нет
|
||||
`jira/manifest.json`; существующий приёмник не перезаписывается, корневой файл удаляется. Цена ошибки: если старый
|
||||
код успел записать в корень более новый agent.py после частичной миграции, он потеряется (риск низкий).
|
||||
35. `registry.DEFAULT_AGENT = "jira"` — единственное место с умолчанием агента в ядре; `release.py` импортирует его
|
||||
оттуда. Цена ошибки: нет.
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user