# MKDIR_RENAME_CONSOLIDATION.md

## Gedragsbevestiging

- `POST /api/files/rename` werkt alleen binnen dezelfde parent directory.
  - De target wordt opgebouwd als `parent(source_path) + new_name`.
- `rename` laat geen verborgen move toe.
  - `new_name` accepteert geen padsegmenten (`/`, `\\`, `..`), dus geen directorywissel.
- `validate_name` wordt toegepast op:
  - `mkdir.name`
  - `rename.new_name`

## Error model voor mkdir/rename

Standaard error shape:

```json
{
  "error": {
    "code": "...",
    "message": "...",
    "details": {"...": "..."}
  }
}
```

Ondersteunde codes in deze slice:

- `invalid_request`
  - ongeldige naam (`..`, leeg, of met `/`/`\\`)
  - HTTP `400`
- `path_traversal_detected`
  - traversal in aangeleverd pad (`../`)
  - HTTP `403`
- `path_not_found`
  - bronpad of parent pad bestaat niet
  - HTTP `404`
- `already_exists`
  - doelpad bestaat al (file of directory)
  - HTTP `409`
- `io_error`
  - onverwachte filesystem fout tijdens operatie
  - HTTP `500`

## Scopebevestiging

Deze consolidatie wijzigt niet:
- browse endpoint
- delete/copy/move/tasks/frontend
