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:
@@ -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 2–4 → `/plan`
|
||||
OpenAPI + migration `000026` + store (см. `tasks.md`).
|
||||
|
||||
Reference in New Issue
Block a user