docs(memory-bank): add creative phase CP-4 path safety

Решение: allowlist *.log, EvalSymlinks, проверка префикса root; creative phase завершён.

Co-authored-by: Cursor <[email protected]>
This commit is contained in:
Denozordec
2026-06-12 18:58:16 +07:00
co-authored by Cursor
parent 493575aca4
commit 1c39c65fc5
4 changed files with 131 additions and 27 deletions
+19 -14
View File
@@ -2,25 +2,30 @@
## Текущий фокус
**VAN-инициализация** — Memory Bank создан, задача не определена.
**Task:** `settings-ui-and-runtime-logs`
**Complexity:** Level 4
**Phase:** **CREATIVE complete****`/build`**
## Статус
## Creative decisions (кратко)
- Memory Bank: создан и заполнен базовым контекстом проекта
- Активная задача: отсутствует (ожидается описание от пользователя)
| CP | Решение |
|----|---------|
| CP-1 | `/tenant-settings` + Tabs; mainNav «Параметры»; `/settings` = frontend |
| CP-2 | Monitoring tab `runtime-logs`; sub-tabs `files` / `audit` |
| CP-3 | Cleanup default `truncate`; max 512 MiB; tail 200 lines (max 2000), 256 KiB cap |
| CP-4 | Regex `^[a-z0-9][a-z0-9_.-]*\.log$` + EvalSymlinks + root prefix |
## Наблюдаемый контекст (git)
## Коммиты creative (local, no push)
Незакоммиченные файлы, вероятно из предыдущей сессии:
- `web/src/lib/components/monitoring/MaintenancePoliciesTab.svelte`
- `web/src/lib/maintenance/policy-schedule.ts`
Область: UI политик обслуживания PostgreSQL (расписание cron, пресеты, CRUD).
1. `ceb6f2f` — CP-1 tenant settings UI
2. `e27936c` — CP-2 runtime logs UI
3. `493575a` — CP-3 cleanup & tail
4. (pending) — CP-4 path safety
## Следующий шаг
Определить задачу и уровень сложности (1–4), затем маршрутизация:
```
/build Phase 1
```
- Level 1 → `/build`
- Level 24 → `/plan`
OpenAPI + migration `000026` + store (см. `tasks.md`).