66 lines
1.4 KiB
Markdown
66 lines
1.4 KiB
Markdown
# Local Recordings Runbook
|
|
|
|
Use this flow to validate Track 4 locally.
|
|
|
|
## Storage location
|
|
|
|
- Default root: `.data_local\recordings`
|
|
- Override with `CC_RECORDINGS_DIR`
|
|
|
|
Files are copied into a managed layout:
|
|
|
|
- `YYYY\MM\DD\rec_<id>_<file-name>`
|
|
|
|
## Import flow
|
|
|
|
1. Submit a `recording.ready` voice event with:
|
|
- `payload.source_path`
|
|
- optional `file_name`, `mime_type`, `duration_seconds`, `recorded_at`
|
|
2. Import it through:
|
|
|
|
```text
|
|
POST /proxy/recording/recordings/import-from-voice-event/{event_id}
|
|
```
|
|
|
|
You can also register directly by server path:
|
|
|
|
```text
|
|
POST /proxy/recording/recordings/register
|
|
```
|
|
|
|
## Review in supervisor shell
|
|
|
|
1. Open `http://localhost:8080/supervisor`
|
|
2. Go to `Recordings`
|
|
3. Load recordings or import by `voice_event_id`
|
|
4. Select a row to open metadata and preview
|
|
5. Use:
|
|
- `Open` for metadata + playback
|
|
- `Download` for file export
|
|
- `Archive` to mark the recording as archived
|
|
|
|
## Missing file handling
|
|
|
|
If the DB row exists but the stored file is gone:
|
|
|
|
- content request returns `410 Gone`
|
|
- the row status becomes `missing`
|
|
- the metadata remains available for diagnosis
|
|
|
|
## Limits
|
|
|
|
- Default max size: `25 MB`
|
|
- Override with `RECORDING_MAX_BYTES`
|
|
|
|
## Demo seed
|
|
|
|
`scripts\prepare_demo.ps1` now creates:
|
|
|
|
- one sample `.wav` file
|
|
- one `recording.ready` voice event
|
|
- one imported managed recording
|
|
|
|
The generated `recording_id` is stored in:
|
|
|
|
- `.local_stack\demo-seed-summary.json`
|