docs(openspec): wiki-module — решения Task 5, R-5 (#91)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
4ea287fbdf
commit
16a3b8c13d
@ -523,3 +523,19 @@ jira безвреден.
|
||||
`modules/jira/projectFields.ts`. `useUpdateProject({label, fields})` сам добавляет `author: "viewer"`; сигнатура
|
||||
может уточниться в Task 10. Цена ошибки: мелкая правка.
|
||||
46. Поля окна — единый `TextInput` (number/text), вёрстка не менялась; `min=1` только для int.
|
||||
|
||||
Решения исполнителя Task 5 и рулинг R-5 (2026-10-24):
|
||||
|
||||
47. **R-5.** Имя каталога копии проекта — `paths.dir_name(label)`: `%`, `/`, `\` экранируются (`%25`, `%2F`, `%5C`), `.` и
|
||||
`..` — `%2E`, `%2E%2E`. Обычные метки не меняются. Обоснование: метки ядра допускают `/` и `..`, без экранирования
|
||||
сборка и `rmtree` выходили бы за каталог вики. Раскладка копии (Task 7) идёт только через `paths.project_dir`. Цена
|
||||
ошибки: экзотические метки получают экранированное имя каталога.
|
||||
48. `PATCH wiki_root` с тем же кодом — no-op (`batch_ids: []`): повторная синхронизация идёт через `POST /wiki/sync`.
|
||||
Цена ошибки: одна строка в `on_updated`.
|
||||
49. `on_updated` отменяет только пакеты `wiki_sync`, все команды которых `queued`; выданный (`claimed`) не трогает — его
|
||||
поздний `done` по старому корню отбросит Task 7. Цена ошибки: лишняя синхронизация.
|
||||
50. Автосинхронизация проекта, у которого нет ни `synced_at`, ни `failed_at` и нет активного пакета, ставится сразу, не
|
||||
ожидая часов. Цена ошибки: лишний пакет; зависит от записи `failed_at`/`synced_at` в Task 7. Прочие решения
|
||||
исполнителя (3, 5–9, 11–12 отчёта): `paths.root` на базе без файла бросает `RuntimeError`, `_drop_copy` его ловит;
|
||||
очистка FTS по rowid страницы; строгая валидация настроек и команд (bool не целое); `wiki_project.failed_at` пока не
|
||||
пишется. Цена ошибки: правка одной строки в соответствующем месте.
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user